| |
|
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