| |
|
Category: functors | | Component type: concept |
Description
An Adaptable Unary Function is a UnaryFunction with nested typedef
s that define its argument type and result type. [1] [2] These nested typedef
make it possible to use function object adaptors.
Refinement of
UnaryFunction
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 |
Definitions
Valid expressions
None, except for those defined by UnaryFunction
Expression semantics
Complexity guarantees
Invariants
Models
Notes
[1] Note the implication of this: a function pointer T (*f)(X)
is a UnaryFunction, 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 typedef
s. 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_tags functions.
See also
UnaryFunction, AdaptableGenerator, AdaptableBinaryFunction