GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::make_unsigned(3) C++ Standard Libary std::make_unsigned(3)

std::make_unsigned - std::make_unsigned


Defined in header <type_traits>
template< class T > (since C++11)
struct make_unsigned;


If T is an integral (except bool) or enumeration type, provides the member typedef
type which is the unsigned integer type corresponding to T, with the same
cv-qualifiers.


If T is signed or unsigned char, short, int, long, long long; the unsigned type from
this list corresponding to T is provided.


If T is an enumeration type or char, wchar_t,
char8_t
(since C++20), char16_t, char32_t; the unsigned integer type with the smallest rank
having the same sizeof as T is provided.


Otherwise, the behavior is undefined. (until C++20)
Otherwise, the program is ill-formed. (since C++20)


The behavior of a program that adds specializations for make_unsigned is undefined.


Name Definition
type the unsigned integer type corresponding to T


template< class T > (since C++14)
using make_unsigned_t = typename make_unsigned<T>::type;

// Run this code


#include <iostream>
#include <type_traits>


int main() {
typedef std::make_unsigned<char>::type char_type;
typedef std::make_unsigned<int>::type int_type;
typedef std::make_unsigned<volatile long>::type long_type;


bool ok1 = std::is_same<char_type, unsigned char>::value;
bool ok2 = std::is_same<int_type, unsigned int>::value;
bool ok3 = std::is_same<long_type, volatile unsigned long>::value;


std::cout << std::boolalpha
<< "char_type is 'unsigned char'? : " << ok1 << '\n'
<< "int_type is 'unsigned int'? : " << ok2 << '\n'
<< "long_type is 'volatile unsigned long'? : " << ok3 << '\n';
}


char_type is 'unsigned char'? : true
int_type is 'unsigned int'? : true
long_type is 'volatile unsigned long'? : true


is_signed checks if a type is a signed arithmetic type
(C++11) (class template)
is_unsigned checks if a type is an unsigned arithmetic type
(C++11) (class template)
make_signed makes the given integral type signed
(C++11) (class template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.