HDK
|
#include "pxr/pxr.h"
#include "pxr/base/vt/api.h"
#include "pxr/base/vt/traits.h"
#include "pxr/base/arch/inttypes.h"
#include "pxr/base/gf/declare.h"
#include "pxr/base/gf/half.h"
#include "pxr/base/tf/meta.h"
#include "pxr/base/tf/preprocessorUtilsLite.h"
#include "pxr/base/tf/token.h"
#include <cstddef>
#include <cstring>
#include <string>
Go to the source code of this file.
Classes | |
class | VtArray< T > |
struct | VtIsKnownValueType_Workaround< T > |
struct | Vt_ShapeData |
Namespaces | |
Vt_KnownValueTypeDetail | |
Typedefs | |
using | Vt_ValueTypeList = TfMetaApply< TfMetaTail, TfMetaList< void TF_PP_SEQ_FOR_EACH(_VT_MAP_TYPE_LIST,~, VT_VALUE_TYPES)>> |
Functions | |
PXR_NAMESPACE_OPEN_SCOPE | VT_TYPE_IS_CHEAP_TO_COPY (TfToken) |
template<typename T > | |
constexpr int | Vt_KnownValueTypeDetail::GetIndexImpl (TfMetaList<>) |
template<typename T , typename Typelist > | |
constexpr int | Vt_KnownValueTypeDetail::GetIndexImpl (Typelist) |
template<typename T > | |
constexpr int | Vt_KnownValueTypeDetail::GetIndex () |
constexpr int | VtGetNumKnownValueTypes () |
template<class T > | |
constexpr int | VtGetKnownValueTypeIndex () |
template<class T > | |
constexpr bool | VtIsKnownValueType () |
Returns true if T is a type that appears in VT_VALUE_TYPES. More... | |
template<typename T > | |
T | VtZero () |
Defines all the types "TYPED" for which Vt creates a VtTYPEDArray typedef.
Definition in file types.h.
#define VT_ARRAY_TYPE_TUPLE | ( | unused, | |
elem | |||
) |
#define VT_ARRAY_TYPEDEF | ( | unused, | |
elem | |||
) |
#define VT_ARRAY_VALUE_TYPES TF_PP_SEQ_FOR_EACH(VT_ARRAY_TYPE_TUPLE, ~, VT_SCALAR_VALUE_TYPES) |
#define VT_BUILTIN_NUMERIC_VALUE_TYPES VT_INTEGRAL_BUILTIN_VALUE_TYPES VT_FLOATING_POINT_BUILTIN_VALUE_TYPES |
#define VT_BUILTIN_VALUE_TYPES VT_BUILTIN_NUMERIC_VALUE_TYPES VT_STRING_VALUE_TYPES |
#define VT_CLASS_VALUE_TYPES VT_ARRAY_VALUE_TYPES VT_SCALAR_CLASS_VALUE_TYPES VT_NONARRAY_VALUE_TYPES |
#define VT_DUALQUATERNION_VALUE_TYPES |
#define VT_FLOATING_POINT_BUILTIN_VALUE_TYPES |
#define VT_GFRANGE_VALUE_TYPES |
#define VT_INTEGRAL_BUILTIN_VALUE_TYPES |
#define VT_MATRIX_DOUBLE_VALUE_TYPES |
#define VT_MATRIX_FLOAT_VALUE_TYPES |
#define VT_MATRIX_VALUE_TYPES |
#define VT_NONARRAY_VALUE_TYPES |
#define VT_QUATERNION_VALUE_TYPES |
#define VT_RANGE_VALUE_TYPES |
#define VT_SCALAR_CLASS_VALUE_TYPES |
#define VT_SCALAR_VALUE_TYPES VT_SCALAR_CLASS_VALUE_TYPES VT_BUILTIN_VALUE_TYPES |
#define VT_SPECIALIZE_IS_VALUE_PROXY | ( | unused, | |
elem | |||
) |
#define VT_STRING_VALUE_TYPES |
#define VT_TYPE | ( | elem | ) | TF_PP_TUPLE_ELEM(0, elem) |
#define VT_TYPE_NAME | ( | elem | ) | TF_PP_TUPLE_ELEM(1, elem) |
#define VT_VALUE_TYPES VT_BUILTIN_VALUE_TYPES VT_CLASS_VALUE_TYPES |
#define VT_VEC_DOUBLE_VALUE_TYPES |
#define VT_VEC_FLOAT_VALUE_TYPES |
#define VT_VEC_HALF_VALUE_TYPES |
#define VT_VEC_INT_VALUE_TYPES |
#define VT_VEC_VALUE_TYPES |
PXR_NAMESPACE_OPEN_SCOPE VT_TYPE_IS_CHEAP_TO_COPY | ( | TfToken | ) |
constexpr int VtGetKnownValueTypeIndex | ( | ) |
Provide compile-time value type indexes for types that are "known" to Vt – specifically, those types that appear in VT_VALUE_TYPES. Note that VtArray and VtValue can work with other types that are not these "known" types.
VtGetKnownValueTypeIndex can only be used with known types. Querying a type that is not known to Vt results in a compilation error. The set of known types and their indexes are not guaranteed to be stable across releases of the library.
Most clients should prefer VtVisitValue over direct use of the type index as VtVisitValue provides convenient and efficient access to the held value.
constexpr bool VtIsKnownValueType | ( | ) |
T VtZero | ( | ) |