Loading...
Searching...
No Matches
traits.h File Reference
+ Include dependency graph for traits.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  VtIsArray< T >
 A trait to detect instantiations of VtArray, specialized in array.h. More...
 
struct  VtIsArrayEdit< T >
 A trait to detect instantiations of VtArrayEdit, specialized in arrayEdit.h. More...
 
struct  VtValueTypeCanCompose< T >
 A trait indicating whether VtValue compose-over functionality can be registered for a type. More...
 
struct  VtValueTypeCanTransform< T >
 A trait indicating whether VtValue transform functionality can be registered for a type. More...
 

Macros

#define VT_TYPE_IS_CHEAP_TO_COPY(T)
 
#define VT_TYPE_IS_TYPED_VALUE_PROXY(T)
 
#define VT_TYPE_IS_ERASED_VALUE_PROXY(T)
 
#define VT_VALUE_TYPE_CAN_COMPOSE(T)
 A helper for specializing the above trait.
 
#define VT_VALUE_TYPE_CAN_TRANSFORM(T)
 A helper for specializing the above trait.
 

Functions

template<class T , typename std::enable_if< !VtIsTypedValueProxy< T >::value, int >::type = 0>
T const & VtGetProxiedObject (T const &nonProxy)
 

Macro Definition Documentation

◆ VT_TYPE_IS_CHEAP_TO_COPY

#define VT_TYPE_IS_CHEAP_TO_COPY (   T)
Value:
template <> struct VtValueTypeHasCheapCopy<TF_PP_EAT_PARENS(T)> \
: std::true_type {}
#define TF_PP_EAT_PARENS(...)
Return the arguments as is except if the first argument starts with a matched parenthesis then remove...

Definition at line 37 of file traits.h.

◆ VT_TYPE_IS_ERASED_VALUE_PROXY

#define VT_TYPE_IS_ERASED_VALUE_PROXY (   T)
Value:
template <> struct VtIsErasedValueProxy<TF_PP_EAT_PARENS(T)> \
: std::true_type {}

Definition at line 123 of file traits.h.

◆ VT_TYPE_IS_TYPED_VALUE_PROXY

#define VT_TYPE_IS_TYPED_VALUE_PROXY (   T)
Value:
template <> struct VtIsTypedValueProxy<TF_PP_EAT_PARENS(T)> \
: std::true_type {}

Definition at line 96 of file traits.h.

◆ VT_VALUE_TYPE_CAN_COMPOSE

#define VT_VALUE_TYPE_CAN_COMPOSE (   T)
Value:
template <> struct VtValueTypeCanCompose<TF_PP_EAT_PARENS(T)> \
: std::true_type {};
A trait indicating whether VtValue compose-over functionality can be registered for a type.
Definition: traits.h:137

A helper for specializing the above trait.

Definition at line 140 of file traits.h.

◆ VT_VALUE_TYPE_CAN_TRANSFORM

#define VT_VALUE_TYPE_CAN_TRANSFORM (   T)
Value:
template <> struct VtValueTypeCanTransform<TF_PP_EAT_PARENS(T)> \
: std::true_type {};
A trait indicating whether VtValue transform functionality can be registered for a type.
Definition: traits.h:147

A helper for specializing the above trait.

Definition at line 150 of file traits.h.

Function Documentation

◆ VtGetProxiedObject()

T const & VtGetProxiedObject ( T const &  nonProxy)

Definition at line 105 of file traits.h.