7 #ifndef PXR_EXEC_VDF_TYPE_DISPATCH_TABLE_H
8 #define PXR_EXEC_VDF_TYPE_DISPATCH_TABLE_H
23 #include <tbb/spin_rw_mutex.h>
63 mutable tbb::spin_rw_mutex _mutex;
118 template <
template <
typename>
class Fn>
135 template <
typename Type>
140 const std::type_info &ti =
typeid(
Type);
149 template <
typename RetType,
typename... Args>
153 (std::forward<Args>(
args)...);
#define PXR_NAMESPACE_OPEN_SCOPE
VDF_API bool IsTypeRegistered(TfType t) const
Returns true if a function has been registered for type t.
RetType Call(TfType key, Args &&...args) const
VDF_API Vdf_TypeDispatchTableBase()
#define PXR_NAMESPACE_CLOSE_SCOPE
**If you just want to fire and args
decltype(_CreateEmptyVector< int >::Call) FnSignature
VDF_API ~Vdf_TypeDispatchTableBase()
VDF_API void * _FindOrFatalError(TfType t) const
VDF_API bool _RegisterType(const std::type_info &ti, void *f)