HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_Variant.h File Reference
#include "UT_API.h"
#include "UT_Array.h"
#include "UT_SharedPtr.h"
#include "UT_StringMap.h"
#include "UT_VectorTypes.h"
#include <array>
#include <type_traits>
#include <memory>
+ Include dependency graph for UT_Variant.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UT_VariantArray
 
class  UT_VariantMap
 
class  UT_Variant
 
struct  UT_Variant::TypeInfo< T >
 
struct  UT_Variant::IsTrivialType< T >
 
struct  UT_Variant::IsCompoundType< T >
 
struct  UT_Variant::TypeConversion< U >
 
struct  UT_Variant::IsConvertibleType< T >
 
struct  UT_Variant::TypeConversion< int32 >
 
struct  UT_Variant::TypeConversion< uint32 >
 
struct  UT_Variant::TypeConversion< fpreal32 >
 
struct  UT_Variant::TypeConversion< UT_Vector2F >
 
struct  UT_Variant::TypeConversion< UT_Vector3F >
 
struct  UT_Variant::TypeConversion< UT_Vector4F >
 
struct  UT_Variant::TypeConversion< UT_Matrix2F >
 
struct  UT_Variant::TypeConversion< UT_Matrix3F >
 
struct  UT_Variant::TypeConversion< UT_Matrix4F >
 
struct  UT_Variant::TypeConversion< const char * >
 

Macros

#define UT_VARIANT_TYPE_ID(_T_, _ID_, _TRV_, _CPL_)
 

Functions

 UT_VARIANT_TYPE_ID (void, Null, false, false)
 
 UT_VARIANT_TYPE_ID (bool, Bool, true, false)
 
 UT_VARIANT_TYPE_ID (int64, Int, true, false)
 
 UT_VARIANT_TYPE_ID (uint64, UInt, true, false)
 
 UT_VARIANT_TYPE_ID (fpreal64, Float, true, false)
 
 UT_VARIANT_TYPE_ID (UT_StringHolder, String, true, false)
 
 UT_VARIANT_TYPE_ID (UT_Vector2D, Vector2, false, true)
 
 UT_VARIANT_TYPE_ID (UT_Vector3D, Vector3, false, true)
 
 UT_VARIANT_TYPE_ID (UT_Vector4D, Vector4, false, true)
 
 UT_VARIANT_TYPE_ID (UT_Matrix2D, Matrix2, false, true)
 
 UT_VARIANT_TYPE_ID (UT_Matrix3D, Matrix3, false, true)
 
 UT_VARIANT_TYPE_ID (UT_Matrix4D, Matrix4, false, true)
 
 UT_VARIANT_TYPE_ID (void *, Pointer, true, false)
 
 UT_VARIANT_TYPE_ID (UT_VariantArray, Array, true, false)
 
 UT_VARIANT_TYPE_ID (UT_VariantMap, Map, true, false)
 
UT_API size_t format (char *buffer, size_t buffer_size, const UT_Variant &v)
 

Macro Definition Documentation

#define UT_VARIANT_TYPE_ID (   _T_,
  _ID_,
  _TRV_,
  _CPL_ 
)
Value:
template<> struct UT_Variant::TypeInfo<_T_> { \
static constexpr UT_Variant::Type typeId = UT_Variant::Type::_ID_; \
static constexpr bool is_trivial = _TRV_; \
static constexpr bool is_complex = _CPL_; \
}
static constexpr bool is_trivial
Definition: UT_Variant.h:234
static constexpr bool is_complex
Definition: UT_Variant.h:235
static constexpr Type typeId
Definition: UT_Variant.h:233

Definition at line 567 of file UT_Variant.h.

Function Documentation

UT_API size_t format ( char *  buffer,
size_t  buffer_size,
const UT_Variant v 
)
UT_VARIANT_TYPE_ID ( void  ,
Null  ,
false  ,
false   
)
UT_VARIANT_TYPE_ID ( bool  ,
Bool  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( int64  ,
Int  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( uint64  ,
UInt  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( fpreal64  ,
Float  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( UT_StringHolder  ,
String  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( UT_Vector2D  ,
Vector2  ,
false  ,
true   
)
UT_VARIANT_TYPE_ID ( UT_Vector3D  ,
Vector3  ,
false  ,
true   
)
UT_VARIANT_TYPE_ID ( UT_Vector4D  ,
Vector4  ,
false  ,
true   
)
UT_VARIANT_TYPE_ID ( UT_Matrix2D  ,
Matrix2  ,
false  ,
true   
)
UT_VARIANT_TYPE_ID ( UT_Matrix3D  ,
Matrix3  ,
false  ,
true   
)
UT_VARIANT_TYPE_ID ( UT_Matrix4D  ,
Matrix4  ,
false  ,
true   
)
UT_VARIANT_TYPE_ID ( void ,
Pointer  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( UT_VariantArray  ,
Array  ,
true  ,
false   
)
UT_VARIANT_TYPE_ID ( UT_VariantMap  ,
Map  ,
true  ,
false   
)