STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Macros | Functions
type_traits File Reference
#include <xstddef>
#include <xrefwrap>

Classes

struct  _Ptr_traits< _Ty >
 
struct  _Ptr_traits< _Ty * >
 
struct  _Ptr_traits< const _Ty * >
 
struct  _Ptr_traits< volatile _Ty * >
 
struct  _Ptr_traits< const volatile _Ty * >
 
struct  _Is_funptr< _Ty >
 
struct  _Is_memfunptr< _Ty >
 
struct  _Is_funptr< _Ret(*)(_Types...,...)>
 
struct  add_const< _Ty >
 
struct  add_volatile< _Ty >
 
struct  add_cv< _Ty >
 
struct  add_reference< _Ty >
 
struct  add_lvalue_reference< _Ty >
 
struct  add_rvalue_reference< _Ty >
 
struct  remove_extent< _Ty >
 
struct  remove_extent< _Ty[_Ix]>
 
struct  remove_extent< _Ty[]>
 
struct  remove_all_extents< _Ty >
 
struct  remove_all_extents< _Ty[_Ix]>
 
struct  remove_all_extents< _Ty[]>
 
struct  remove_pointer< _Ty >
 
struct  add_pointer< _Ty >
 
struct  _Is_void< _Ty >
 
struct  _Is_void< void >
 
struct  is_void< _Ty >
 
struct  is_array< _Ty >
 
struct  is_array< _Ty[_Nx]>
 
struct  is_array< _Ty[]>
 
struct  is_lvalue_reference< _Ty >
 
struct  is_lvalue_reference< _Ty & >
 
struct  is_rvalue_reference< _Ty >
 
struct  is_rvalue_reference< _Ty && >
 
struct  is_reference< _Ty >
 
struct  _Is_member_object_pointer< _Ty >
 
struct  _Is_member_object_pointer< _Ty1 _Ty2::* >
 
struct  is_member_object_pointer< _Ty >
 
struct  is_member_function_pointer< _Ty >
 
struct  _Is_pointer< _Ty >
 
struct  _Is_pointer< _Ty * >
 
struct  is_pointer< _Ty >
 
struct  _Is_nullptr_t< _Ty >
 
struct  is_function< _Ty >
 
struct  is_function< _Ty & >
 
struct  is_function< _Ty && >
 
struct  is_arithmetic< _Ty >
 
struct  is_fundamental< _Ty >
 
struct  is_object< _Ty >
 
struct  is_compound< _Ty >
 
struct  is_member_pointer< _Ty >
 
struct  is_scalar< _Ty >
 
struct  is_const< _Ty >
 
struct  is_const< _Ty[_Nx]>
 
struct  is_const< const _Ty[_Nx]>
 
struct  is_const< _Ty & >
 
struct  is_const< _Ty && >
 
struct  is_volatile< _Ty >
 
struct  is_volatile< _Ty & >
 
struct  is_volatile< _Ty && >
 
struct  is_constructible< _Ty, _Args >
 
struct  is_copy_constructible< _Ty >
 
struct  has_copy_constructor< _Ty >
 
struct  is_default_constructible< _Ty >
 
struct  has_default_constructor< _Ty >
 
struct  is_move_constructible< _Ty >
 
struct  has_move_constructor< _Ty >
 
struct  _Is_assignable< _To, _From >
 
struct  is_assignable< _To, _From >
 
struct  is_copy_assignable< _Ty >
 
struct  has_copy_assign< _Ty >
 
struct  is_move_assignable< _Ty >
 
struct  has_move_assign< _Ty >
 
struct  is_trivially_constructible< _Ty, _Args >
 
struct  is_trivially_copy_constructible< _Ty >
 
struct  is_trivially_copyable< _Ty >
 
struct  has_trivial_copy_constructor< _Ty >
 
struct  is_trivially_default_constructible< _Ty >
 
struct  has_trivial_default_constructor< _Ty >
 
struct  is_trivially_move_constructible< _Ty >
 
struct  has_trivial_move_constructor< _Ty >
 
struct  is_trivially_copy_assignable< _Ty >
 
struct  has_trivial_copy_assign< _Ty >
 
struct  is_trivially_move_assignable< _Ty >
 
struct  has_trivial_move_assign< _Ty >
 
struct  is_nothrow_constructible< _Ty, _Args >
 
struct  is_nothrow_copy_constructible< _Ty >
 
struct  has_nothrow_copy_constructor< _Ty >
 
struct  is_nothrow_default_constructible< _Ty >
 
struct  has_nothrow_default_constructor< _Ty >
 
struct  is_nothrow_move_constructible< _Ty >
 
struct  has_nothrow_move_constructor< _Ty >
 
struct  is_nothrow_copy_assignable< _Ty >
 
struct  has_nothrow_copy_assign< _Ty >
 
struct  is_nothrow_move_assignable< _Ty >
 
struct  has_nothrow_move_assign< _Ty >
 
struct  has_trivial_constructor< _Ty >
 
struct  has_trivial_copy< _Ty >
 
struct  has_trivial_assign< _Ty >
 
struct  has_trivial_destructor< _Ty >
 
struct  has_nothrow_constructor< _Ty >
 
struct  has_nothrow_copy< _Ty >
 
struct  has_nothrow_assign< _Ty >
 

Macros

#define _TYPE_TRAITS_
 
#define _IS_BASE_OF(_Base, _Der)   : _Cat_base<__is_base_of(_Base, _Der)>
 
#define _IS_CONVERTIBLE(_From, _To)   : _Cat_base<__is_convertible_to(_From, _To)>
 
#define _IS_UNION(_Ty)   : _Cat_base<__is_union(_Ty)>
 
#define _IS_CLASS(_Ty)   : _Cat_base<__is_class(_Ty)>
 
#define _IS_POD(_Ty)   : _Cat_base<__is_pod(_Ty)>
 
#define _IS_EMPTY(_Ty)   : _Cat_base<__is_empty(_Ty)>
 
#define _IS_POLYMORPHIC(_Ty)   : _Cat_base<__is_polymorphic(_Ty)>
 
#define _IS_ABSTRACT(_Ty)   : _Cat_base<__is_abstract(_Ty)>
 
#define _IS_STANDARD_LAYOUT(_Ty)   : _Cat_base<__is_standard_layout(_Ty)>
 
#define _IS_TRIVIAL(_Ty)   : _Cat_base<__is_trivial(_Ty)>
 
#define _HAS_TRIVIAL_DESTRUCTOR(_Ty)   : _Cat_base<__has_trivial_destructor(_Ty)>
 
#define _HAS_VIRTUAL_DESTRUCTOR(_Ty)   : _Cat_base<__has_virtual_destructor(_Ty)>
 
#define _UNDERLYING_TYPE(_Ty)   __underlying_type(_Ty)
 
#define _IS_LITERAL_TYPE(_Ty)   : _Cat_base<__is_literal_type(_Ty)>
 
#define _IS_ENUM(_Ty)   : _Cat_base<__is_enum(_Ty)>
 
#define _IS_DESTRUCTIBLE(_Ty)   : _Cat_base<__is_destructible(_Ty)>
 
#define _IS_NOTHROW_ASSIGNABLE(_To, _From)   : _Cat_base<__is_nothrow_assignable(_To, _From)>
 
#define _IS_NOTHROW_DESTRUCTIBLE(_Ty)   : _Cat_base<__is_nothrow_destructible(_Ty)>
 
#define _IS_TRIVIALLY_ASSIGNABLE(_To, _From)   : _Cat_base<__is_trivially_assignable(_To, _From)>
 
#define _IS_CONSTRUCTIBLE   __is_constructible
 
#define _IS_NOTHROW_CONSTRUCTIBLE   __is_nothrow_constructible
 
#define _IS_TRIVIALLY_CONSTRUCTIBLE   __is_trivially_constructible
 
#define _IS_FUNPTR(CALL_OPT, X1)
 
#define _IS_MEMFUNPTR(CALL_OPT, X1, CV_OPT)
 
#define _IS_MEMFUNPTR_ELLIPSIS(CV_OPT)
 
#define _ADD_REFERENCE_VOID(CV_OPT)
 
#define _ADD_RVALUE_REFERENCE_VOID(CV_OPT)
 
#define _REMOVE_POINTER(CV_OPT)
 
#define _ALIGN_OF(_Ty)   (sizeof (_Get_align<_Ty>) - 2 * sizeof (_Ty))
 
#define _FITS(_Ty)   _Align <= alignment_of<_Ty>::value
 
#define _NEXT_ALIGN(_Ty)   typedef typename _Aligned<_Len, _Align, _Ty, _FITS(_Ty)>::type type
 

Functions

template<class _Ty >
add_rvalue_reference< _Ty >::type declval () _NOEXCEPT
 

Macro Definition Documentation

#define _ADD_REFERENCE_VOID (   CV_OPT)
Value:
template<> \
{ /* add reference */ \
typedef CV_OPT void type; \
};
Definition: type_traits:179
#define _ADD_RVALUE_REFERENCE_VOID (   CV_OPT)
Value:
template<> \
{ /* add reference */ \
typedef CV_OPT void type; \
};
Definition: type_traits:204
#define _ALIGN_OF (   _Ty)    (sizeof (_Get_align<_Ty>) - 2 * sizeof (_Ty))
#define _FITS (   _Ty)    _Align <= alignment_of<_Ty>::value
struct is_trivially_destructible _HAS_TRIVIAL_DESTRUCTOR (   _Ty)    : _Cat_base<__has_trivial_destructor(_Ty)>
struct has_virtual_destructor _HAS_VIRTUAL_DESTRUCTOR (   _Ty)    : _Cat_base<__has_virtual_destructor(_Ty)>
struct is_abstract _IS_ABSTRACT (   _Ty)    : _Cat_base<__is_abstract(_Ty)>
#define _IS_BASE_OF (   _Base,
  _Der 
)    : _Cat_base<__is_base_of(_Base, _Der)>
struct is_class _IS_CLASS (   _Ty)    : _Cat_base<__is_class(_Ty)>
#define _IS_CONSTRUCTIBLE   __is_constructible
struct is_convertible _IS_CONVERTIBLE (   _From,
  _To 
)    : _Cat_base<__is_convertible_to(_From, _To)>
struct is_destructible _IS_DESTRUCTIBLE (   _Ty)    : _Cat_base<__is_destructible(_Ty)>
struct is_empty _IS_EMPTY (   _Ty)    : _Cat_base<__is_empty(_Ty)>
struct is_enum _IS_ENUM (   _Ty)    : _Cat_base<__is_enum(_Ty)>
#define _IS_FUNPTR (   CALL_OPT,
  X1 
)
Value:
template<class _Ret, \
class... _Types> \
struct _Is_funptr<_Ret (CALL_OPT *)(_Types...)> \
{ /* base class for function pointer predicates */ \
};
Definition: xtr1common:34
Definition: type_traits:102
struct is_literal_type _IS_LITERAL_TYPE (   _Ty)    : _Cat_base<__is_literal_type(_Ty)>
#define _IS_MEMFUNPTR (   CALL_OPT,
  X1,
  CV_OPT 
)
Value:
template<class _Ret, \
class _Arg0, \
class... _Types> \
struct _Is_memfunptr<_Ret (CALL_OPT _Arg0::*)(_Types...) CV_OPT> \
{ /* base class for member function pointer predicates */ \
};
Definition: xtr1common:34
Definition: type_traits:108
#define _IS_MEMFUNPTR_ELLIPSIS (   CV_OPT)
Value:
template<class _Ret, \
class _Arg0, \
class... _Types> \
struct _Is_memfunptr<_Ret (_Arg0::*)(_Types..., ...) CV_OPT> \
{ /* no calling conventions for ellipsis */ \
};
Definition: xtr1common:34
Definition: type_traits:108
struct is_nothrow_assignable _IS_NOTHROW_ASSIGNABLE (   _To,
  _From 
)    : _Cat_base<__is_nothrow_assignable(_To, _From)>
#define _IS_NOTHROW_CONSTRUCTIBLE   __is_nothrow_constructible
struct is_nothrow_destructible _IS_NOTHROW_DESTRUCTIBLE (   _Ty)    : _Cat_base<__is_nothrow_destructible(_Ty)>
struct is_pod _IS_POD (   _Ty)    : _Cat_base<__is_pod(_Ty)>
struct is_polymorphic _IS_POLYMORPHIC (   _Ty)    : _Cat_base<__is_polymorphic(_Ty)>
struct is_standard_layout _IS_STANDARD_LAYOUT (   _Ty)    : _Cat_base<__is_standard_layout(_Ty)>
struct is_trivial _IS_TRIVIAL (   _Ty)    : _Cat_base<__is_trivial(_Ty)>
struct is_trivially_assignable _IS_TRIVIALLY_ASSIGNABLE (   _To,
  _From 
)    : _Cat_base<__is_trivially_assignable(_To, _From)>
#define _IS_TRIVIALLY_CONSTRUCTIBLE   __is_trivially_constructible
struct is_union _IS_UNION (   _Ty)    : _Cat_base<__is_union(_Ty)>
#define _NEXT_ALIGN (   _Ty)    typedef typename _Aligned<_Len, _Align, _Ty, _FITS(_Ty)>::type type
#define _REMOVE_POINTER (   CV_OPT)
Value:
template<class _Ty> \
{ /* remove pointer */ \
typedef _Ty type; \
};
Definition: type_traits:264
#define _TYPE_TRAITS_
#define _UNDERLYING_TYPE (   _Ty)    __underlying_type(_Ty)

Function Documentation

template<class _Ty >
add_rvalue_reference<_Ty>::type declval ( )