24 #ifndef PXR_BASE_VT_TRAITS_H
25 #define PXR_BASE_VT_TRAITS_H
33 #include <hboost/type_traits/has_trivial_assign.hpp>
35 #include <type_traits>
52 #define VT_TYPE_IS_CHEAP_TO_COPY(T) \
53 template <> struct VtValueTypeHasCheapCopy<TF_PP_EAT_PARENS(T)> \
111 #define VT_TYPE_IS_TYPED_VALUE_PROXY(T) \
112 template <> struct VtIsTypedValueProxy<TF_PP_EAT_PARENS(T)> \
117 typename std::enable_if<
128 using type =
typename std::decay<
138 #define VT_TYPE_IS_ERASED_VALUE_PROXY(T) \
139 template <> struct VtIsErasedValueProxy<TF_PP_EAT_PARENS(T)> \
146 std::integral_constant<
147 bool, VtIsTypedValueProxy<T>::value || VtIsErasedValueProxy<T>::value> {};
151 #endif // PXR_BASE_VT_TRAITS_H
T const & VtGetProxiedObject(T const &nonProxy)
typename std::decay< decltype(VtGetProxiedObject(std::declval< T >()))>::type type
Array concept. By default, types are not arrays.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE