CHROMA
Classes | Public Types | List of all members
Chroma::TypeTraits< T > Class Template Reference

#include <typetraits.h>

Classes

struct  PointerTraits
 
struct  PointerTraits< U * >
 
struct  PToMTraits
 
struct  PToMTraits< U V::* >
 
struct  ReferenceTraits
 
struct  ReferenceTraits< U & >
 
struct  UnConst
 
struct  UnConst< const U >
 
struct  UnVolatile
 
struct  UnVolatile< volatile U >
 

Public Types

enum  { isPointer = PointerTraits<T>::result }
 
enum  { isReference = ReferenceTraits<T>::result }
 
enum  { isMemberPointer = PToMTraits<T>::result }
 
enum  
 
enum  
 
enum  
 
enum  
 
enum  { isStdArith = isStdIntegral || isStdFloat }
 
enum  { isStdFundamental }
 
enum  { isUnsignedInt = isStdUnsignedInt || IsCustomUnsignedInt<T>::value }
 
enum  { isSignedInt = isStdSignedInt || IsCustomSignedInt<T>::value }
 
enum  { isIntegral = isStdIntegral || isUnsignedInt || isSignedInt }
 
enum  { isFloat = isStdFloat || IsCustomFloat<T>::value }
 
enum  { isArith = isIntegral || isFloat }
 
enum  { isFundamental = isStdFundamental || isArith || isFloat }
 
enum  { isConst = UnConst<T>::isConst }
 
enum  { isVolatile = UnVolatile<T>::isVolatile }
 
typedef PointerTraits< T >::PointeeType PointeeType
 
typedef ReferenceTraits< T >::ReferredType ReferredType
 
typedef Select< isStdArith||isPointer||isMemberPointer, T, ReferredType & >::Result ParameterType
 
typedef UnConst< T >::Result NonConstType
 
typedef UnVolatile< T >::Result NonVolatileType
 
typedef UnVolatile< typename UnConst< T >::Result >::Result UnqualifiedType
 

Detailed Description

template<typename T>
class Chroma::TypeTraits< T >

Definition at line 134 of file typetraits.h.

Member Typedef Documentation

◆ NonConstType

template<typename T >
typedef UnConst<T>::Result Chroma::TypeTraits< T >::NonConstType

Definition at line 228 of file typetraits.h.

◆ NonVolatileType

template<typename T >
typedef UnVolatile<T>::Result Chroma::TypeTraits< T >::NonVolatileType

Definition at line 230 of file typetraits.h.

◆ ParameterType

template<typename T >
typedef Select<isStdArith || isPointer || isMemberPointer, T, ReferredType&>::Result Chroma::TypeTraits< T >::ParameterType

Definition at line 225 of file typetraits.h.

◆ PointeeType

template<typename T >
typedef PointerTraits<T>::PointeeType Chroma::TypeTraits< T >::PointeeType

Definition at line 198 of file typetraits.h.

◆ ReferredType

template<typename T >
typedef ReferenceTraits<T>::ReferredType Chroma::TypeTraits< T >::ReferredType

Definition at line 201 of file typetraits.h.

◆ UnqualifiedType

template<typename T >
typedef UnVolatile<typename UnConst<T>::Result>::Result Chroma::TypeTraits< T >::UnqualifiedType

Definition at line 232 of file typetraits.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isPointer 

Definition at line 197 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isReference 

Definition at line 200 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isMemberPointer 

Definition at line 203 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum

Definition at line 205 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum

Definition at line 207 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum

Definition at line 209 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum

Definition at line 211 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isStdArith 

Definition at line 212 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isStdFundamental 

Definition at line 213 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isUnsignedInt 

Definition at line 216 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isSignedInt 

Definition at line 217 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isIntegral 

Definition at line 218 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isFloat 

Definition at line 219 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isArith 

Definition at line 220 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isFundamental 

Definition at line 221 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isConst 

Definition at line 227 of file typetraits.h.

◆ anonymous enum

template<typename T >
anonymous enum
Enumerator
isVolatile 

Definition at line 229 of file typetraits.h.


The documentation for this class was generated from the following file: