pointer_to_unary_function(Result (*f)(Arg)) pointer_to_unary_function See below.
pointer_to_unary_function() pointer_to_unary_function See below.
template <class Arg, class Result> pointer_to_unary_function<Arg, Result> ptr_fun (Result (*x)(Arg)); pointer_to_unary_function See below.
New members

These members are not defined in the Adaptable Unary Function requirements, but are specific to pointer_to_unary_function.

Member Description
pointer_to_unary_function(Result (*f)(Arg)) The constructor. Creates a pointer_to_unary_function whose underlying function is f.
pointer_to_unary_function() The default constructor. This creates a pointer_to_unary_function that does not have an underlying C function, and that therefore cannot actually be called.
template <class Arg, class Result> pointer_to_unary_function<Arg, Result> ptr_fun (Result (*x)(Arg)); If f is of type Result (*)(Arg) then ptr_fun(f) is equivalent to pointer_to_unary_function<Arg,Result>(f) , but more convenient. This is a global function, not a member.
See also

pointer_to_binary_function, ptr_fun, Adaptable Unary Function

pointer_to_binary_function<Arg1, Arg2, Result>

Categories: functors, adaptors

Component type: type

Description

Pointer_to_binary_function is a function object adaptor that allows a function pointer Result (*f)(Arg1, Arg2) to be treated as an Adaptable Binary Function . That is: if F is a pointer_to_binary_function<Arg1, Arg2, Result> that was initialized with an underlying function pointer f of type Result (*) (Arg1, Arg2), then F(x, y) calls the function f(x, y) . The difference between f and F is that pointer_to_binary_function is an Adaptable Binary Function, i.e. it defines the nested typedef s first_argument_type, second_argument_type, and result_type.

Note that a function pointer of type Result (*)(Arg1, Arg2) is a perfectly good Binary Function object, and may be passed to an STL algorithm that expects an argument that is a Binary Function . The only reason for using the pointer_to_binary_function class is if you need to use an ordinary function in a context that requires an Adaptable Binary Function, e.g. as the argument of a function object adaptor.

Most of the time, you need not declare an object of type pointer_to_binary_function directly. It is almost always easier to construct one using the ptr_fun function.

Example

The following code fragment finds the first string in a list that is equal to 'OK'. It uses the standard library function strcmp as an argument to a function object adaptor, so it must first use a pointer_to_binary_function adaptor to give strcmp the Adaptable Binary Function interface.

list<char*> L;

list<char*>::iterator item = find_if(L.begin(), L.end(), not1(binder2nd(ptr_fun(strcmp), 'OK')));

Definition

Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.

Template parameters
Parameter Description
Arg1 The function object's first argument type
Arg2 The function object's second argument type
Result
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату