libstdc++
Metaprogramming
Collaboration diagram for Metaprogramming:

Classes

struct  std::__declval_protector< _Tp >
 
struct  std::__is_member_pointer_helper< _Tp >
 
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< _Tp >
 
struct  std::add_volatile< _Tp >
 
struct  std::aligned_storage< _Len, _Align >
 
struct  std::alignment_of< _Tp >
 
struct  std::common_type< _Tp >
 
struct  std::conditional< _Cond, _Iftrue, _Iffalse >
 
class  std::decay< _Tp >
 
struct  std::enable_if< bool, _Tp >
 
struct  std::extent< typename, _Uint >
 
struct  std::has_nothrow_copy_assign< _Tp >
 
struct  std::has_nothrow_copy_constructor< _Tp >
 
struct  std::has_nothrow_default_constructor< _Tp >
 
struct  std::has_trivial_copy_assign< _Tp >
 
struct  std::has_trivial_copy_constructor< _Tp >
 
struct  std::has_trivial_default_constructor< _Tp >
 
struct  std::has_trivial_destructor< _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_base_of< _Base, _Derived >
 
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_empty< _Tp >
 
struct  std::is_enum< _Tp >
 
struct  std::is_explicitly_convertible< _From, _To >
 
struct  std::is_floating_point< _Tp >
 
struct  std::is_function< _Tp >
 
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< _Tp >
 
struct  std::is_nothrow_constructible< _Tp, _Args >
 
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_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< _Tp >
 
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 >
 

Macros

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

Typedefs

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

Functions

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

Variables

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

Detailed Description

Macro Definition Documentation

#define _GLIBCXX_HAS_NESTED_TYPE (   _NTYPE)

Use SFINAE to determine if the type _Tp has a publicly-accessible member type _NTYPE.

Definition at line 1235 of file type_traits.

Typedef Documentation

typedef integral_constant<bool, false> std::false_type

typedef for false_type

Definition at line 84 of file type_traits.

typedef integral_constant<bool, true> std::true_type

typedef for true_type

Definition at line 81 of file type_traits.