Function call. The return value is simply the argument.
New members
All of identity's members are defined in the
Adaptable Unary Function
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.