cpp/utility/functional/unary function

is a base class for creating function objects with one argument.

does not define ; it is expected that derived classes will define this. provides only two types - and  - defined by the template parameters.

Some standard library function object adaptors, such as std, require the function objects they adapt to have certain types defined; std requires the function object being adapted to have a type named. Deriving function objects that take one argument from is an easy way to make them compatible with those adaptors.

is deprecated in C++11.