| [/ |
| Copyright 2007 John Maddock. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |
| [section:make_unsigned make_unsigned] |
| |
| template <class T> |
| struct make_unsigned |
| { |
| typedef __below type; |
| }; |
| |
| __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. |
| |
| __std_ref 3.9.1. |
| |
| __header ` #include <boost/type_traits/make_unsigned.hpp>` or ` #include <boost/type_traits.hpp>` |
| |
| [table Examples |
| |
| [ [Expression] [Result Type]] |
| |
| [[`make_unsigned<int>::type`][`unsigned int`]] |
| |
| [[`make_unsigned<unsigned int const>::type`] [`unsigned int const`]] |
| |
| [[`make_unsigned<const unsigned long long>::type`] [`const unsigned long long`]] |
| |
| [[`make_unsigned<my_enum>::type`] [An unsigned integer type with the same width as the enum.]] |
| [[`make_unsigned<wchar_t>::type`] [An unsigned integer type with the same width as wchar_t.]] |
| |
| ] |
| |
| [endsect] |
| |