...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
template <class T>
struct make_signed
{
typedef see-below
type;
};
type: If T is a signed integer type then the same type as T, if T is an unsigned integer type then the corresponding signed type. Otherwise if T is an enumerated or character type (char or wchar_t) then a signed 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_signed.hpp>
or #include <boost/type_traits.hpp>
Table 1.23. Examples
Expression |
Result Type |
---|---|
|
|
|
|
|
|
|
A signed integer type with the same width as the enum. |
|
A signed integer type with the same width as wchar_t. |