7 #ifndef PXR_BASE_VT_VALUE_COMMON_H
8 #define PXR_BASE_VT_VALUE_COMMON_H
21 #include <type_traits>
62 : _ptr(std::move(
ptr)), _type(&type) {}
65 std::type_info
const *_type;
72 #define VT_VALUE_SET_STORED_TYPE(SRC, DST) \
73 template <> struct Vt_ValueStoredType<SRC> { typedef DST Type; }
84 #ifdef PXR_PYTHON_SUPPORT_ENABLED
86 #endif // PXR_PYTHON_SUPPORT_ENABLED
88 #undef VT_VALUE_SET_STORED_TYPE
107 return Vt_DefaultValueHolder::Create<T>();
118 #define _VT_DECLARE_ZERO_VALUE_FACTORY(unused, elem) \
120 VT_API Vt_DefaultValueHolder Vt_DefaultValueFactory<VT_TYPE(elem)>::Invoke();
128 #undef _VT_DECLARE_ZERO_VALUE_FACTORY
134 #endif // PXR_BASE_VT_VALUE_COMMON_H
static Vt_DefaultValueHolder Create(T const &val)
void const * Vt_FindOrCreateDefaultValue(std::type_info const &type, Vt_DefaultValueHolder(*factory)())
#define PXR_NAMESPACE_OPEN_SCOPE
#define VT_DUALQUATERNION_VALUE_TYPES
#define VT_VALUE_SET_STORED_TYPE(SRC, DST)
GLint GLint GLsizei GLint GLenum GLenum type
#define VT_VEC_VALUE_TYPES
void const * GetPointer() const
#define TF_PP_SEQ_FOR_EACH(_macro, data, seq)
std::type_info const & GetType() const
static Vt_DefaultValueHolder Create()
#define PXR_NAMESPACE_CLOSE_SCOPE
GA_API const UT_StringHolder N
#define _VT_DECLARE_ZERO_VALUE_FACTORY(unused, elem)
static TfAnyUniquePtr New()
#define VT_QUATERNION_VALUE_TYPES
static Vt_DefaultValueHolder Invoke()
#define VT_MATRIX_VALUE_TYPES
void const * Get() const
Return a pointer to the owned object.