|
| |
|
| Category: functors | | Component type: type |
Description
Identity is a UnaryFunction that represents the identity function: it takes a single argument x, and returns x.
Example
int main()
{
int x = 137;
identity<int> id;
assert(x == id(x));
}
Definition
Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h. This class is an SGI extension; it is not part of the C++ standard.
Template parameters
| Parameter | Description | Default |
T | The function object's argument type, and return type. [1] | |
Model of
AdaptableUnaryFunction
Type requirements
None.
Public base classes
unary_function<T, T>
Members
New members
All of identity's members are defined in the AdaptableUnaryFunction requirements. Identity does not introduce any new members.
Notes
[1] It is essential that the return type and the argument type are the same: generalizing identity to allow them to differ would not work. The reason is that identity returns a const reference to its argument, rather than a copy of its argument. If identity were allowed to perform a conversion, then this would be a dangling reference.
See also
The functors, select1st, select2nd, project1st, project2nd