19
General utilities library
[utilities]
19.15
Metaprogramming and type traits
[meta]
19.15.4
Unary type traits
[meta.unary]
19.15.4.2
Composite type traits
[meta.unary.comp]
1
#
These templates provide convenient compositions of the primary type categories, corresponding to the descriptions given in subclause
[basic.types]
.
2
#
For any given type
T
, the result of applying one of these templates to
T
and to
cv
T
shall yield the same result
.
Table
45
— Composite type category predicates
Template
Condition
Comments
template<class T>
struct is_reference;
T
is an lvalue reference or an rvalue reference
template<class T>
struct is_arithmetic;
T
is an
arithmetic type
template<class T>
struct is_fundamental;
T
is a
fundamental type
template<class T>
struct is_object;
T
is an
object type
template<class T>
struct is_scalar;
T
is a
scalar type
template<class T>
struct is_compound;
T
is a
compound type
template<class T>
struct is_member_pointer;
T
is a
pointer-to-member
type