Книга: Standard Template Library Programmer
Adaptable Unary Function
Разделы на этой странице:
Adaptable Unary Function
Category: functors
Component type: concept
Description
An Adaptable Unary Function is a Unary Function with nested typedefs that define its argument type and result type. [1] [2] These nested typedef make it possible to use function object adaptors.
Refinement of
Unary Function
Associated types
Argument type | F::argument_type |
The type of F's argument |
Result type | F::result_type |
The type returned when the Unary Function is called |
Notation
F
A type that is a model of Unary Function
Valid expressions
None, except for those defined by Unary Function
Models
• negate
• identity
• pointer_to_unary_function
Notes
[1] Note the implication of this: a function pointer T (*f)(X) is a Unary Function, but not an Adaptable Unary Function: the expressions f::argument_type and f::result_type are nonsensical.
[2] When you define a class that is a model of Adaptable Unary Function, you must provide these typedefs. The easiest way to do this is to derive the class from the base class unary_function. This is an empty class, with no member functions or member variables; the only reason it exists is to make defining Adaptable Unary Functions more convenient. Unary_function is very similar to the base classes used by the iterator tag functions.
See also
Unary Function, Adaptable Generator, Adaptable Binary Function