7 #ifndef PXR_BASE_TF_CXX_CAST_H
8 #define PXR_BASE_TF_CXX_CAST_H
14 #error This include file can only be included in C++ programs.
18 #include <type_traits>
22 template <
class Src,
class Dst>
27 template <
class Src,
class Dst>
32 template <
class Src,
class Dst>
48 inline typename std::enable_if<
56 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
GLint GLint GLsizei GLint GLenum GLenum type
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