# Type Traits
[Utilities]

Collaboration diagram for Type Traits:

## Classes

- struct std::add_lvalue_reference< _Tp >
    add_lvalue_reference More...
- struct std::add_rvalue_reference< _Tp >
    add_rvalue_reference More...
- struct std::aligned_storage< _Len, _Align >
    Alignment type. More...
- struct std::conditional< _Cond, _Iftrue, _Iffalse >
    conditional More...
- class std::decay< _Tp >
    decay More...
- struct std::enable_if< bool, _Tp >
    enable_if More...
- struct std::has_nothrow_assign< _Tp >
    has_nothrow_assign More...
- struct std::has_nothrow_copy_constructor< _Tp >
    has_nothrow_copy_constructor More...
- struct std::has_nothrow_default_constructor< _Tp >
    has_nothrow_default_constructor More...
- struct std::has_trivial_assign< _Tp >
    has_trivial_assign More...
- struct std::has_trivial_copy_constructor< _Tp >
    has_trivial_copy_constructor More...
- struct std::has_trivial_default_constructor< _Tp >
    has_trivial_default_constructor More...
- struct std::has_trivial_destructor< _Tp >
    has_trivial_destructor More...
- struct std::is_base_of< _Base, _Derived >
    is_base_of More...
- struct std::is_constructible< _Tp, _Args >
    is_constructible More...
- struct std::is_convertible< _From, _To >
    is_convertible More...
- struct std::is_explicitly_convertible< _From, _To >
    is_explicitly_convertible More...
- struct std::is_lvalue_reference< typename >
    is_lvalue_reference More...
- struct std::is_pod< _Tp >
    is_pod More...
- struct std::is_reference< _Tp >
    is_reference More...
- struct std::is_rvalue_reference< typename >
    is_rvalue_reference More...
- struct std::is_signed< _Tp >
    is_signed More...
- struct std::is_standard_layout< _Tp >
    is_standard_layout More...
- struct std::is_trivial< _Tp >
    is_trivial More...
- struct std::is_unsigned< _Tp >
    is_unsigned More...
- struct std::make_signed< _Tp >
    make_signed More...
- struct std::make_unsigned< _Tp >
    make_unsigned More...
- struct std::remove_reference< _Tp >
    remove_reference More...
- struct std::tr1::__is_member_pointer_helper< _Tp >
    is_member_pointer More...
- struct std::tr1::add_const< _Tp >
    add_const More...
- struct std::tr1::add_cv< _Tp >
    add_cv More...
- struct std::tr1::add_pointer< _Tp >
    add_pointer More...
- struct std::tr1::add_volatile< _Tp >
    add_volatile More...
- struct std::tr1::alignment_of< _Tp >
    alignment_of More...
- struct std::tr1::extent< typename, _Uint >
    extent More...
- struct std::tr1::has_virtual_destructor< _Tp >
    has_virtual_destructor More...
- struct std::tr1::integral_constant< _Tp, __v >
    integral_constant More...
- struct std::tr1::is_abstract< _Tp >
    is_abstract More...
- struct std::tr1::is_arithmetic< _Tp >
    is_arithmetic More...
- struct std::tr1::is_array< typename >
    is_array More...
- struct std::tr1::is_class< _Tp >
    is_class More...
- struct std::tr1::is_compound< _Tp >
    is_compound More...
- struct std::tr1::is_const< typename >
    is_const More...
- struct std::tr1::is_empty< _Tp >
    is_empty More...
- struct std::tr1::is_enum< _Tp >
    is_enum More...
- struct std::tr1::is_floating_point< _Tp >
    is_floating_point More...
- struct std::tr1::is_function< typename >
    is_function More...
- struct std::tr1::is_fundamental< _Tp >
    is_fundamental More...
- struct std::tr1::is_integral< _Tp >
    is_integral More...
- struct std::tr1::is_member_function_pointer< _Tp >
    is_member_function_pointer More...
- struct std::tr1::is_member_object_pointer< _Tp >
    is_member_object_pointer More...
- struct std::tr1::is_object< _Tp >
    is_object More...
- struct std::tr1::is_pointer< _Tp >
    is_pointer More...
- struct std::tr1::is_polymorphic< _Tp >
    is_polymorphic More...
- struct std::tr1::is_same< typename, typename >
    is_same More...
- struct std::tr1::is_scalar< _Tp >
    is_scalar More...
- struct std::tr1::is_union< _Tp >
    is_union More...
- struct std::tr1::is_void< _Tp >
    is_void More...
- struct std::tr1::is_volatile< typename >
    is_volatile More...
- struct std::tr1::rank< typename >
    rank More...
- struct std::tr1::remove_all_extents< _Tp >
    remove_all_extents More...
- struct std::tr1::remove_const< _Tp >
    remove_const More...
- struct std::tr1::remove_cv< _Tp >
    remove_cv More...
- struct std::tr1::remove_extent< _Tp >
    remove_extent More...
- struct std::tr1::remove_pointer< _Tp >
    remove_pointer More...
- struct std::tr1::remove_volatile< _Tp >
    remove_volatile More...

## Defines

- #define _DEFINE_SPEC(_Order, _Trait, _Type, _Value)
- #define _DEFINE_SPEC_0_HELPER
- #define _DEFINE_SPEC_1_HELPER
- #define _DEFINE_SPEC_2_HELPER

## Typedefs

- typedef integral_constant
  < bool, false > std::tr1::false_type
- typedef integral_constant
  < bool, true > std::tr1::true_type

## Functions

- template<typename _Tp > add_rvalue_reference< _Tp >::type std::declval ()

## Variables

- static const _Tp std::tr1::integral_constant::value

## Detailed Description

Compile time type transformation and information.

## Typedef Documentation

typedef integral_constant<bool, false> std::tr1::false_type

typedef for false_type

Definition at line 78 of file tr1_impl/type_traits.

typedef integral_constant<bool, true> std::tr1::true_type

typedef for true_type

Definition at line 75 of file tr1_impl/type_traits.