binder1st<AdaptableBinaryFunction>

Categories: functors, adaptors

Component type: type

Description

Binder1st is a function object adaptor: it is used to transform
an adaptable binary function into an adaptable unary function.
Specifically, if f is an object of class
binder1st<AdaptableBinaryFunction>, then f(x) returns
F(c, x), where F is an object of class AdaptableBinaryFunction
and where c is a constant. Both F and c are passed as arguments to
binder1st's constructor. [1]

The easiest way to create a binder1st is not to call the constructor
explicitly, but instead to use the helper function bind1st.

If F is an object of type AdaptableBinaryFunction,
then bind1st(F, c) is equivalent to
binder1st<AdaptableBinaryFunction>(F, c), but is more convenient.
The type T must be convertible to
AdaptableBinaryFunction::first_argument_type. This is a global
function, not a member function.

Notes

[1]
Intuitively, you can think of this operation as "binding" the
first argument of a binary function to a constant, thus yielding
a unary function. This is a special case of a closure.