HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VtValueRef::_TypeInfoImpl< T, IsMutable > Struct Template Reference

#include <valueRef.h>

+ Inheritance diagram for VtValueRef::_TypeInfoImpl< T, IsMutable >:

Public Types

using Type = T
 
using This = _TypeInfoImpl
 
using ConstType = std::conditional_t< IsPointer, const std::remove_pointer_t< Type > *, const Type >
 
using GetObjResultType = std::conditional_t< IsPointer, ConstType, ConstType & >
 
using GetMutableObjResultType = std::conditional_t< IsPointer, Type, Type & >
 

Public Member Functions

constexpr _TypeInfoImpl ()
 
- Public Member Functions inherited from VtValueRef::_TypeInfo
bool CanHash (_RefdObjPtr storage) const
 
size_t Hash (_RefdObjPtr storage) const
 
bool Equal (_RefdObjPtr lhs, _RefdObjPtr rhs) const
 
TfPyObjWrapper GetPyObj (_RefdObjPtr storage) const
 
VtValue GetVtValue (_RefdObjPtr storage) const
 
std::ostream & StreamOut (_RefdObjPtr storage, std::ostream &out) const
 
bool IsArrayValued (_RefdObjPtr storage) const
 
size_t GetNumElements (_RefdObjPtr storage) const
 

Static Public Member Functions

static GetObjResultType GetObj (_RefdObjPtr const &storage)
 
static GetMutableObjResultType GetMutableObj (_RefdObjPtr &storage)
 
static void SetObj (T const &obj, _RefdObjPtr &storage)
 

Static Public Attributes

static constexpr bool IsPointer = std::is_pointer_v<Type>
 
static constexpr bool IsFunctionPointer
 

Additional Inherited Members

- Public Attributes inherited from VtValueRef::_TypeInfo
const std::type_info & typeInfo
 
const std::type_info & elementTypeInfo
 
const int knownTypeIndex
 
const bool isArray
 
const bool isHashable
 
const bool canComposeOver
 
const bool canTransform
 
const bool isMutable
 
- Protected Member Functions inherited from VtValueRef::_TypeInfo
constexpr _TypeInfo (const std::type_info &ti, const std::type_info &elementTi, int knownTypeIndex, bool isArray, bool isHashable, bool canComposeOver, bool canTransform, bool isMutable, _CanHashFunc canHash, _HashFunc hash, _EqualFunc equal, _GetPyObjFunc getPyObj, _GetVtValueFunc getVtValue, _StreamOutFunc streamOut, _IsArrayValuedFunc isArrayValued, _GetNumElementsFunc getNumElements)
 

Detailed Description

template<class T, bool IsMutable>
struct VtValueRef::_TypeInfoImpl< T, IsMutable >

Definition at line 219 of file valueRef.h.

Member Typedef Documentation

template<class T , bool IsMutable>
using VtValueRef::_TypeInfoImpl< T, IsMutable >::ConstType = std::conditional_t< IsPointer, const std::remove_pointer_t<Type> *, const Type>

Definition at line 231 of file valueRef.h.

template<class T , bool IsMutable>
using VtValueRef::_TypeInfoImpl< T, IsMutable >::GetMutableObjResultType = std::conditional_t< IsPointer, Type, Type &>

Definition at line 237 of file valueRef.h.

template<class T , bool IsMutable>
using VtValueRef::_TypeInfoImpl< T, IsMutable >::GetObjResultType = std::conditional_t< IsPointer, ConstType, ConstType &>

Definition at line 234 of file valueRef.h.

template<class T , bool IsMutable>
using VtValueRef::_TypeInfoImpl< T, IsMutable >::This = _TypeInfoImpl

Definition at line 222 of file valueRef.h.

template<class T , bool IsMutable>
using VtValueRef::_TypeInfoImpl< T, IsMutable >::Type = T

Definition at line 221 of file valueRef.h.

Constructor & Destructor Documentation

template<class T , bool IsMutable>
constexpr VtValueRef::_TypeInfoImpl< T, IsMutable >::_TypeInfoImpl ( )
inline

Definition at line 244 of file valueRef.h.

Member Function Documentation

template<class T , bool IsMutable>
static GetMutableObjResultType VtValueRef::_TypeInfoImpl< T, IsMutable >::GetMutableObj ( _RefdObjPtr storage)
inlinestatic

Definition at line 282 of file valueRef.h.

template<class T , bool IsMutable>
static GetObjResultType VtValueRef::_TypeInfoImpl< T, IsMutable >::GetObj ( _RefdObjPtr const &  storage)
inlinestatic

Definition at line 269 of file valueRef.h.

template<class T , bool IsMutable>
static void VtValueRef::_TypeInfoImpl< T, IsMutable >::SetObj ( T const &  obj,
_RefdObjPtr storage 
)
inlinestatic

Definition at line 297 of file valueRef.h.

Member Data Documentation

template<class T , bool IsMutable>
constexpr bool VtValueRef::_TypeInfoImpl< T, IsMutable >::IsFunctionPointer
static
Initial value:
=
IsPointer && std::is_function_v<std::remove_pointer_t<Type>>

Definition at line 225 of file valueRef.h.

template<class T , bool IsMutable>
constexpr bool VtValueRef::_TypeInfoImpl< T, IsMutable >::IsPointer = std::is_pointer_v<Type>
static

Definition at line 224 of file valueRef.h.


The documentation for this struct was generated from the following file: