|  | Home | Libraries | People | FAQ | More | 
template <class T>
struct make_unsigned
{
   typedef see-below type;
};
template <class T> using make_unsigned_t = typename make_unsigned<T>::type; // C++11 and above
type: If T is a unsigned integer type then the same type as T, if T is an signed integer type then the corresponding unsigned type. Otherwise if T is an enumerated or character type (char or wchar_t) then an unsigned integer type with the same width as T.
If T has any cv-qualifiers then these are also present on the result type.
Requires: T must be an integer or enumerated type, and must not be the type bool.
C++ Standard Reference: 3.9.1.
Compiler Compatibility: All current compilers are supported by this trait.
        Header:  #include
        <boost/type_traits/make_unsigned.hpp>
        or  #include <boost/type_traits.hpp>
      
Table 1.26. Examples
| Expression | Result Type | 
|---|---|
| 
                   | 
                   | 
| 
                   | 
                   | 
| 
                   | 
                   | 
| 
                   | An unsigned integer type with the same width as the enum. | 
| 
                   | An unsigned integer type with the same width as wchar_t. |