Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

decay

template <class T>
struct decay
{
   typedef see-below type;
};

type: Let U be the result of remove_reference<T>::type, then if U is an array type, the result is remove_extent<U>::type*, otherwise if U is a function type then the result is U*, otherwise the result is U.

C++ Standard Reference: 3.9.1.

Header: #include <boost/type_traits/decay.hpp> or #include <boost/type_traits.hpp>

Table 1.18. Examples

Expression

Result Type

decay<int[2][3]>::type

int[3]*

decay<int(&)[2]>::type

int*

decay<int(&)(double)>::type

int(*)(double)

int(*)(double)

int(*)(double)

int(double)

int(*)(double)


Compiler Compatibility: All current compilers are supported by this trait.


PrevUpHomeNext