HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
traits.h File Reference
#include "pxr/pxr.h"
#include "pxr/base/vt/api.h"
#include "pxr/base/tf/preprocessorUtilsLite.h"
#include <type_traits>
+ 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  VtValueTypeHasCheapCopy< T >
 
struct  VtTypedValueProxyBase
 
struct  VtIsTypedValueProxy< T >
 
struct  VtGetProxiedType< T >
 
struct  VtErasedValueProxyBase
 
struct  VtIsErasedValueProxy< T >
 
struct  VtIsValueProxy< T >
 
struct  VtValueTypeCanCompose< T >
 
struct  VtValueTypeCanTransform< T >
 

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. More...
 
#define VT_VALUE_TYPE_CAN_TRANSFORM(T)
 A helper for specializing the above trait. More...
 

Functions

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

Macro Definition Documentation

#define VT_TYPE_IS_CHEAP_TO_COPY (   T)
Value:
: std::true_type {}
#define TF_PP_EAT_PARENS(...)

Definition at line 37 of file traits.h.

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

Definition at line 123 of file traits.h.

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

Definition at line 96 of file traits.h.

#define VT_VALUE_TYPE_CAN_COMPOSE (   T)
Value:
: std::true_type {};
#define TF_PP_EAT_PARENS(...)

A helper for specializing the above trait.

Definition at line 140 of file traits.h.

#define VT_VALUE_TYPE_CAN_TRANSFORM (   T)
Value:
: std::true_type {};
#define TF_PP_EAT_PARENS(...)

A helper for specializing the above trait.

Definition at line 150 of file traits.h.

Function Documentation

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

Definition at line 105 of file traits.h.