The <functional> header
contains many additional functors
and helper functions, extending section 20.3. They are
implemented in the file stl_function.h:
identity_element for addition and multiplication.
The functor identity, whose operator()
returns the argument unchanged.
Composition functors unary_function and
binary_function, and their helpers compose1
and compose2.
select1st and select2nd, to strip pairs.
project1st and project2nd.
A set of functors/functions which always return the same result. They
are constant_void_fun, constant_binary_fun,
constant_unary_fun, constant0,
constant1, and constant2.
The class subtractive_rng.
mem_fun adaptor helpers mem_fun1 and
mem_fun1_ref are provided for backwards compatibility.
20.4.1 can use several different allocators; they are described on the main extensions page.
20.4.3 is extended with a special version of
get_temporary_buffer taking a second argument. The
argument is a pointer, which is ignored, but can be used to specify
the template type (instead of using explicit function template
arguments like the standard version does). That is, in addition to
get_temporary_buffer<int>(5);
you can also use
get_temporary_buffer(5, (int*)0);
A class temporary_buffer is given in stl_tempbuf.h.
The specialized algorithms of section 20.4.4 are extended with
uninitialized_copy_n.