...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The following templates transform one type to another, based upon some well-defined
rule. Each template has a single member called type
that is the result of applying the transformation to the template argument
T
.
Synopsis:
template <class T> struct add_const; template <class T> struct add_cv; template <class T> struct add_lvalue_reference; template <class T> struct add_pointer; template <class T> struct add_reference; template <class T> struct add_rvalue_reference; template <class T> struct add_volatile; template <bool B, class T, class U> struct conditional; template <class... T> struct common_type; template <class T, class U> struct copy_cv; template <class T> struct decay; template <class T> struct floating_point_promotion; template <class T> struct integral_promotion; template <class T> struct make_signed; template <class T> struct make_unsigned; template <class T> struct promote; template <class T> struct remove_all_extents; template <class T> struct remove_const; template <class T> struct remove_cv; template <class T> struct remove_extent; template <class T> struct remove_pointer; template <class T> struct remove_reference; template <class T> struct remove_volatile; template <class T> struct type_identity;