
ALINK="#ff0000">
binder1st<AdaptableBinaryFunction>
DescriptionBinder1st 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. ExampleFinds the first nonzero element in a list.list<int> L; ... list<int>::iterator first_nonzero = find_if(L.begin(), L.end(), bind1st(not_equal_to<int>(), 0)); assert(first_nonzero == L.end()  *first_nonzero != 0); DefinitionDefined in the standard header functional, and in the nonstandard backwardcompatibility header function.h.Template parameters
Model ofAdaptable Unary FunctionType requirementsAdaptableBinaryFunction must be a model of Adaptable Binary Function.Public base classesunary_function<AdaptableBinaryFunction::second_argument_type, AdaptableBinaryFunction::result_type> Members
New membersThese members are not defined in the Adaptable Unary Function requirements, but are specific to binder1st.
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. See alsoThe function object overview, binder2nd, Adaptable Unary Function, Adaptable Binary FunctionCopyright © 1999 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation
