関数呼び出しのシンタックスは醜い Range Library Proposalではoperator|を使った回避策が提案されている これはRangeに限った話ではないので、result_ofを使って書こう (実装) []#include[] []<boost/utility/result_of.hpp>[] []#include[] []<pstade/pipable.hpp>[] []int[] []increment[][]([][]int[] []i[][])[] []{[] []return[] []i[][] + [][]1[][];[] []}[] []int[] []decrement[][]([][]int[] []i[][])[] []{[] []return[] []i[][] - [][]1[][];[] []}[] []int[] []multiply[][]([]