libstdc++
Metaprogramming
Collaboration diagram for Metaprogramming:

Classes

struct  std::__is_nullptr_t< _Tp >
 __is_nullptr_t (extension). More...
struct  std::integral_constant< _Tp, __v >
 integral_constant More...
struct  std::is_abstract< _Tp >
 is_abstract More...
struct  std::is_arithmetic< _Tp >
 is_arithmetic More...
struct  std::is_array< typename >
 is_array More...
struct  std::is_class< _Tp >
 is_class More...
struct  std::is_compound< _Tp >
 is_compound More...
struct  std::is_const< typename >
 is_const More...
struct  std::is_empty< _Tp >
 is_empty More...
struct  std::is_enum< _Tp >
 is_enum More...
struct  std::is_final< _Tp >
 is_final More...
struct  std::is_floating_point< _Tp >
 is_floating_point More...
struct  std::is_function< typename >
 is_function More...
struct  std::is_fundamental< _Tp >
 is_fundamental More...
struct  std::is_integral< _Tp >
 is_integral More...
struct  std::is_literal_type< _Tp >
 is_literal_type More...
struct  std::is_lvalue_reference< typename >
 is_lvalue_reference More...
struct  std::is_member_function_pointer< _Tp >
 is_member_function_pointer More...
struct  std::is_member_object_pointer< _Tp >
 is_member_object_pointer More...
struct  std::is_member_pointer< _Tp >
 is_member_pointer More...
struct  std::is_null_pointer< _Tp >
 is_null_pointer (LWG 2247). More...
struct  std::is_object< _Tp >
 is_object More...
struct  std::is_pod< _Tp >
 is_pod More...
struct  std::is_pointer< _Tp >
 is_pointer More...
struct  std::is_polymorphic< _Tp >
 is_polymorphic More...
struct  std::is_reference< _Tp >
 is_reference More...
struct  std::is_rvalue_reference< typename >
 is_rvalue_reference More...
struct  std::is_scalar< _Tp >
 is_scalar More...
struct  std::is_standard_layout< _Tp >
 is_standard_layout More...
struct  std::is_trivial< _Tp >
 is_trivial More...
struct  std::is_union< _Tp >
 is_union More...
struct  std::is_void< _Tp >
 is_void More...
struct  std::is_volatile< typename >
 is_volatile More...
struct  std::tr2::__reflection_typelist< _First, _Rest...>
 Partial specialization. More...
struct  std::tr2::__reflection_typelist<>
 Specialization for an empty typelist. More...
struct  std::tr2::bases< _Tp >
 Sequence abstraction metafunctions for manipulating a typelist. More...
struct  std::tr2::direct_bases< _Tp >
 Enumerate all the direct base classes of a class. Form of a typelist. More...

Defines

#define __cpp_lib_integral_constant_callable
#define __cpp_lib_is_final
#define __cpp_lib_is_null_pointer

Typedefs

typedef integral_constant
< bool, false > 
std::false_type
typedef integral_constant
< bool, true > 
std::true_type
typedef integral_constant< _Tp,
__v > 
std::integral_constant< _Tp, __v >::type
typedef _Tp std::__success_type< _Tp >::type
typedef _Tp std::integral_constant< _Tp, __v >::value_type

Functions

constexpr std::integral_constant< _Tp, __v >::operator value_type () const
constexpr value_type std::integral_constant< _Tp, __v >::operator() () const

Variables

static constexpr _Tp std::integral_constant< _Tp, __v >::value

Detailed Description

Template utilities for compile-time introspection and modification, including type classification traits, type property inspection traits and type transformation traits.


Typedef Documentation

typedef integral_constant<bool, false> std::false_type

The type used as a compile-time boolean with false value.

Definition at line 90 of file type_traits.

typedef integral_constant<bool, true> std::true_type

The type used as a compile-time boolean with true value.

Definition at line 87 of file type_traits.