Metaprogramming
Utilities
Collaboration diagram for Metaprogramming:

## Classes

struct | std::add_const< _Tp >
struct | std::add_cv< _Tp >
struct | std::add_lvalue_reference< _Tp >
struct | std::add_pointer< _Tp >
struct | std::add_rvalue_reference< typename >
struct | std::add_volatile< _Tp >
struct | std::aligned_storage< _Len, _Align >
struct | std::alignment_of< _Tp >
struct | std::common_type< _Tp >
struct | std::conditional< bool, typename, typename >
class | std::decay< _Tp >
struct | std::enable_if< bool, _Tp >
struct | std::extent< typename, unsigned >
struct | std::has_trivial_copy_assign< _Tp >
struct | std::has_trivial_copy_constructor< _Tp >
struct | std::has_trivial_default_constructor< _Tp >
struct | std::has_virtual_destructor< _Tp >
struct | std::integral_constant< _Tp, __v >
struct | std::is_abstract< _Tp >
struct | std::is_arithmetic< _Tp >
struct | std::is_array< typename >
struct | std::is_assignable< _Tp, _Up >
struct | std::is_base_of< typename, typename >
struct | std::is_class< _Tp >
struct | std::is_compound< _Tp >
struct | std::is_const< typename >
struct | std::is_constructible< _Tp, _Args >
struct | std::is_convertible< _From, _To >
struct | std::is_copy_assignable< _Tp >
struct | std::is_copy_constructible< _Tp >
struct | std::is_default_constructible< _Tp >
struct | std::is_destructible< _Tp >
struct | std::is_empty< _Tp >
struct | std::is_enum< _Tp >
struct | std::is_floating_point< _Tp >
struct | std::is_function< typename >
struct | std::is_fundamental< _Tp >
struct | std::is_integral< _Tp >
struct | std::is_literal_type< _Tp >
struct | std::is_lvalue_reference< typename >
struct | std::is_member_function_pointer< _Tp >
struct | std::is_member_object_pointer< _Tp >
struct | std::is_member_pointer< typename >
struct | std::is_move_assignable< _Tp >
struct | std::is_move_constructible< _Tp >
struct | std::is_nothrow_assignable< _Tp, _Up >
struct | std::is_nothrow_constructible< _Tp, _Args >
struct | std::is_nothrow_copy_assignable< _Tp >
struct | std::is_nothrow_copy_constructible< _Tp >
struct | std::is_nothrow_default_constructible< _Tp >
struct | std::is_nothrow_destructible< _Tp >
struct | std::is_nothrow_move_assignable< _Tp >
struct | std::is_nothrow_move_constructible< _Tp >
struct | std::is_object< _Tp >
struct | std::is_pod< _Tp >
struct | std::is_pointer< _Tp >
struct | std::is_polymorphic< _Tp >
struct | std::is_reference< _Tp >
struct | std::is_rvalue_reference< typename >
struct | std::is_same< typename, typename >
struct | std::is_scalar< _Tp >
struct | std::is_signed< _Tp >
struct | std::is_standard_layout< _Tp >
struct | std::is_trivial< _Tp >
struct | std::is_trivially_destructible< _Tp >
struct | std::is_union< _Tp >
struct | std::is_unsigned< _Tp >
struct | std::is_void< _Tp >
struct | std::is_volatile< typename >
struct | std::make_signed< _Tp >
struct | std::make_unsigned< _Tp >
struct | std::rank< typename >
class | std::reference_wrapper< _Tp >
struct | std::remove_all_extents< typename >
struct | std::remove_const< _Tp >
struct | std::remove_cv< typename >
struct | std::remove_extent< _Tp >
struct | std::remove_pointer< _Tp >
struct | std::remove_reference< typename >
struct | std::remove_volatile< _Tp >
class | std::result_of< _Signature >
struct | std::tr2::__reflection_typelist< _Elements >
struct | std::tr2::__reflection_typelist< _First, _Rest...>
struct | std::tr2::__reflection_typelist<>
struct | std::tr2::bases< _Tp >
struct | std::tr2::direct_bases< _Tp >
struct | std::underlying_type< _Tp >

## Typedefs

template<typename... _Cond>
using | std::_Require = typename enable_if< __and_< _Cond...>::value >::type
typedef integral_constant < bool, false > | std::false_type
typedef integral_constant < bool, true > | std::true_type

## 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 72 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 69 of file type_traits.