pipable¶
Header¶
#include <boost/hof/pipable.hpp>
Description¶
The pipable
function adaptor provides an extension method. The first
parameter of the function can be piped into the function using the pipe
|
operator. This can be especially convenient when there are a lot of
nested function calls. Functions that are made pipable can still be called
the traditional way without piping in the first parameter.
Synopsis¶
template<class F>
constexpr pipable_adaptor<F> pipable(F f);
Semantics¶
assert(x | pipable(f)(ys...) == f(x, ys...));
Example¶
#include <boost/hof.hpp>
#include <cassert>
using namespace boost::hof;
struct sum
{
template<class T, class U>
T operator()(T x, U y) const
{
return x+y;
}
};
int main() {
assert(3 == (1 | pipable(sum())(2)));
assert(3 == pipable(sum())(1, 2));
}