24 #ifndef PXR_BASE_TF_CXX_CAST_H
25 #define PXR_BASE_TF_CXX_CAST_H
31 #error This include file can only be included in C++ programs.
35 #include <type_traits>
39 template <
class Src,
class Dst>
44 template <
class Src,
class Dst>
49 template <
class Src,
class Dst>
65 inline typename std::enable_if<
73 inline typename std::enable_if<
GLsizei const GLfloat * value
typename std::conditional< std::is_const< Src >::value, typename std::add_const< Dst >::type, Dst >::type Tf_CopyConst
std::enable_if< std::is_polymorphic< T >::value, Tf_CopyCV< T, void > * >::type TfCastToMostDerivedType(T *ptr)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Tf_CopyConst< Src, Tf_CopyVolatile< Src, Dst >> Tf_CopyCV
typename std::conditional< std::is_volatile< Src >::value, typename std::add_volatile< Dst >::type, Dst >::type Tf_CopyVolatile