8#ifndef PXR_BASE_TS_VALUE_TYPE_DISPATCH_H
9#define PXR_BASE_TS_VALUE_TYPE_DISPATCH_H
12#include "pxr/base/ts/typeHelpers.h"
14#include "pxr/base/tf/type.h"
19PXR_NAMESPACE_OPEN_SCOPE
45 template <
typename T>
class Cls,
47void TsDispatchToValueTypeTemplate(
48 TfType valueType, Args&&... args)
50#define _MAKE_CLAUSE(unused, tuple) \
51if (valueType == Ts_GetType<TS_SPLINE_VALUE_CPP_TYPE(tuple)>()) \
53 Cls<TS_SPLINE_VALUE_CPP_TYPE(tuple)>()(std::forward<Args>(args)...); \
56TF_PP_SEQ_FOR_EACH(_MAKE_CLAUSE, ~, TS_SPLINE_SUPPORTED_VALUE_TYPES)
61PXR_NAMESPACE_CLOSE_SCOPE
Low-level utilities for informing users of various internal and external diagnostic conditions.
TfType represents a dynamic runtime type.
#define TF_CODING_ERROR(fmt, args)
Issue an internal programming error, but continue execution.
This header serves to simply bring in the half float datatype and provide a hash_value function.