header

<type_traits>

type_traits
This header defines a series of classes to obtain type information on compile-time.

The header contains:
  • Helper classes: Standard classes to assist in creating compile-time constants.
  • Type traits: Classes to obtain characteristics of types in the form of compile-time constant values.
  • Type transformations: Classes to obtain new types by applying specific transformations to existing types.

A basic trait for types is the categories in which they can be classified. This is a chart on how these categories overlap:
primary categoriescomposite categories
fundamentalvoid
std::nullptr_tscalarobject
integralarithmetic
floating point
compoundpointer
member object pointermember pointer
member function pointer
enum
union
class*
array
l-value referencereference
r-value reference
function
* = excluding unions

Helper classes


Type traits

Primary type categories


Composite type categories


Type properties


Type features


Type relationships


Property queries



Type transformations

Const-volatile qualifications


Compound type alterations


Other type generators

<type_traits>