Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at pointer_to_unary_function Class.
Converts a unary function pointer into an adaptable unary function.
Syntax
template <class Arg, class Result>
class pointer_to_unary_function
: public unary_function<Arg, Result>
{
public:
explicit pointer_to_unary_function(
Result (* _pfunc)(Arg));
Result operator()(
Arg left) const;
};
Parameters
_pfunc
The binary function to be converted.
left
The object that the *_pfunc is called on.
Return Value
The template class stores a copy of _pfunc. It defines its member function operator() as returning (* _pfunc)(_ Left).
Remarks
A unary function pointer is a function object and may be passed to any Standard Template Library algorithm that is expecting a unary function as a parameter, but it is not adaptable. To use it with an adaptor, such as binding a value to it or using it with a negator, it must be supplied with the nested types argument_type and result_type that make such an adaptation possible. The conversion by pointer_to_unary_function allows the function adaptors to work with binary function pointers.
Example
The constructor of pointer_to_unary_function is rarely used directly. See the helper function ptr_fun for an example of how to declare and use the pointer_to_unary_function adaptor predicate.
Requirements
Header: <functional>
Namespace: std