|  | Home | Libraries | People | FAQ | More | 
template <class T>
struct decay
{
   typedef see-below type;
};
template <class T> using decay_t = typename decay<T>::type; // C++11 and above
        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 | 
|---|---|
| 
                   | 
                   | 
| 
                   | 
                   | 
| 
                   | 
                   | 
| 
                   | 
                   | 
| 
                   | 
                   | 
Compiler Compatibility: All current compilers are supported by this trait.