Struct Variant
Represents an object that can be interpreted as more than one type.
Assembly: FlaxEngine.dll
File: Engine/Core/Types/Variant.h
Syntax
public struct Variant
Constructors
~Variant()
Declaration
public ~Variant()
operator Asset* ()
Declaration
public operator Asset* () const
operator bool()
Declaration
public operator bool() const
operator BoundingBox()
Declaration
public operator BoundingBox() const
operator BoundingSphere()
Declaration
public operator BoundingSphere() const
operator Char()
Declaration
public operator Char() const
operator Color()
Declaration
public operator Color() const
operator double()
Declaration
public operator double() const
operator Double2()
Declaration
public operator Double2() const
operator Double3()
Declaration
public operator Double3() const
operator Double4()
Declaration
public operator Double4() const
operator float()
Declaration
public operator float() const
operator Float2()
Declaration
public operator Float2() const
operator Float3()
Declaration
public operator Float3() const
operator Float4()
Declaration
public operator Float4() const
operator Guid()
Declaration
public operator Guid() const
operator int16()
Declaration
public operator int16() const
operator Int2()
Declaration
public operator Int2() const
operator Int3()
Declaration
public operator Int3() const
operator int32()
Declaration
public operator int32() const
operator Int4()
Declaration
public operator Int4() const
operator int64()
Declaration
public operator int64() const
operator int8()
Declaration
public operator int8() const
operator Matrix()
Declaration
public operator Matrix() const
operator MObject* ()
Declaration
public operator MObject* () const
operator Quaternion()
Declaration
public operator Quaternion() const
operator Ray()
Declaration
public operator Ray() const
operator Rectangle()
Declaration
public operator Rectangle() const
operator ScriptingObject* ()
Declaration
public operator ScriptingObject* () const
operator StringAnsiView()
Declaration
public operator StringAnsiView() const
operator StringView()
Declaration
public operator StringView() const
operator Transform()
Declaration
public operator Transform() const
operator uint16()
Declaration
public operator uint16() const
operator uint32()
Declaration
public operator uint32() const
operator uint64()
Declaration
public operator uint64() const
operator uint8()
Declaration
public operator uint8() const
operator void* ()
Declaration
public operator void* () const
Variant(Array<Variant, HeapAllocation>&& v)
Declaration
public Variant(Array<Variant, HeapAllocation>&& v)
Parameters
|
Array<Variant, HeapAllocation>
v
|
Variant(Asset* v)
Variant(bool v)
Declaration
public Variant(bool v)
Parameters
|
bool
v
|
Variant(const Array<Variant, HeapAllocation>& v)
Declaration
public Variant(const Array<Variant, HeapAllocation>& v)
Parameters
|
Array<Variant, HeapAllocation>
v
|
Variant(const BoundingBox& v)
Variant(const BoundingSphere& v)
Variant(const Char* v)
Declaration
public Variant(const Char* v)
Parameters
|
Char
v
|
Variant(const char* v)
Declaration
public Variant(const char* v)
Parameters
|
char
v
|
Variant(const class AssetReference<T>& v)
Declaration
public Variant(const class AssetReference<T>& v)
Parameters
|
class AssetReference<T>
v
|
Type Parameters
|
typename T
|
Variant(const Color& v)
Variant(const CommonValue& v)
Declaration
public Variant(const CommonValue& v)
Parameters
|
CommonValue
v
|
Variant(const Dictionary<Variant, Variant, HeapAllocation>& v)
Declaration
public Variant(const Dictionary<Variant, Variant, HeapAllocation>& v)
Parameters
|
Dictionary<Variant, Variant, HeapAllocation>
v
|
Variant(const Double2& v)
Declaration
public Variant(const Double2& v)
Parameters
|
Double2
v
|
Variant(const Double3& v)
Declaration
public Variant(const Double3& v)
Parameters
|
Double3
v
|
Variant(const Double4& v)
Declaration
public Variant(const Double4& v)
Parameters
|
Double4
v
|
Variant(const Float2& v)
Declaration
public Variant(const Float2& v)
Parameters
|
Float2
v
|
Variant(const Float3& v)
Declaration
public Variant(const Float3& v)
Parameters
|
Float3
v
|
Variant(const Float4& v)
Declaration
public Variant(const Float4& v)
Parameters
|
Float4
v
|
Variant(const Guid& v)
Variant(const Int2& v)
Declaration
public Variant(const Int2& v)
Parameters
|
Int2
v
|
Variant(const Int3& v)
Declaration
public Variant(const Int3& v)
Parameters
|
Int3
v
|
Variant(const Int4& v)
Declaration
public Variant(const Int4& v)
Parameters
|
Int4
v
|
Variant(const Matrix& v)
Variant(const Quaternion& v)
Variant(const Ray& v)
Variant(const Rectangle& v)
Variant(const Span<byte>& v)
Declaration
public Variant(const Span<byte>& v)
Parameters
|
Span<byte>
v
|
Variant(const StringAnsiView& v)
Variant(const StringView& v)
Variant(const Transform& v)
Variant(const Variant& other)
Variant(const VariantType& type)
Variant(decltype(nullptr))
Declaration
public Variant(decltype(nullptr))
Parameters
|
decltype(nullptr)
Variant_Variant_decltype_nullptr__
|
Variant(Dictionary<Variant, Variant, HeapAllocation>&& v)
Declaration
public Variant(Dictionary<Variant, Variant, HeapAllocation>&& v)
Parameters
|
Dictionary<Variant, Variant, HeapAllocation>
v
|
Variant(double v)
Declaration
public Variant(double v)
Parameters
|
double
v
|
Variant(float v)
Declaration
public Variant(float v)
Parameters
|
float
v
|
Variant(int16 v)
Declaration
public Variant(int16 v)
Parameters
|
int16
v
|
Variant(int32 v)
Declaration
public Variant(int32 v)
Parameters
|
int32
v
|
Variant(int64 v)
Declaration
public Variant(int64 v)
Parameters
|
int64
v
|
Variant(MObject* v)
Declaration
public Variant(MObject* v)
Parameters
|
MObject
v
|
Variant(ScriptingObject* v)
Variant(uint16 v)
Declaration
public Variant(uint16 v)
Parameters
|
uint16
v
|
Variant(uint32 v)
Declaration
public Variant(uint32 v)
Parameters
|
uint32
v
|
Variant(uint64 v)
Declaration
public Variant(uint64 v)
Parameters
|
uint64
v
|
Variant(Variant&& other)
Variant(VariantType&& type)
Variant(void* v)
Declaration
public Variant(void* v)
Parameters
|
void
v
|
Fields
AsAsset
AsBlob
Declaration
public struct Variant::@118::@120 AsBlob
Field Value
|
struct Variant::@118::@120
|
AsBool
Declaration
public bool AsBool
Field Value
|
bool
|
AsData
Declaration
public byte AsData[24]
Field Value
|
byte
|
AsDictionary
Declaration
public Dictionary<Variant, Variant, HeapAllocation>* AsDictionary
Field Value
|
Dictionary<Variant, Variant, HeapAllocation>
|
AsDouble
Declaration
public double AsDouble
Field Value
|
double
|
AsFloat
Declaration
public float AsFloat
Field Value
|
float
|
AsInt
Declaration
public int32 AsInt
Field Value
|
int32
|
AsInt16
Declaration
public int16 AsInt16
Field Value
|
int16
|
AsInt64
Declaration
public int64 AsInt64
Field Value
|
int64
|
AsObject
AsPointer
Declaration
public void* AsPointer
Field Value
|
void
|
AsUint
Declaration
public uint32 AsUint
Field Value
|
uint32
|
AsUint16
Declaration
public uint16 AsUint16
Field Value
|
uint16
|
AsUint64
Declaration
public uint64 AsUint64
Field Value
|
uint64
|
Data
Declaration
public void* Data
Field Value
|
void
|
False
Length
Declaration
public int32 Length
Field Value
|
int32
|
Null
One
True
Type
Zero
Methods
AsArray()
Declaration
public Array<Variant, HeapAllocation> AsArray()
Returns
|
Array<Variant, HeapAllocation>
|
AsBoundingBox()
AsBoundingSphere()
AsColor()
AsDouble2()
Declaration
public Double2 AsDouble2() const
Returns
|
Double2
|
AsDouble3()
Declaration
public Double3 AsDouble3() const
Returns
|
Double3
|
AsDouble4()
Declaration
public Double4 AsDouble4() const
Returns
|
Double4
|
AsFloat2()
Declaration
public Float2 AsFloat2() const
Returns
|
Float2
|
AsFloat3()
Declaration
public Float3 AsFloat3()
Returns
|
Float3
|
AsFloat4()
Declaration
public Float4 AsFloat4() const
Returns
|
Float4
|
AsGuid()
AsInt2()
Declaration
public Int2 AsInt2() const
Returns
|
Int2
|
AsInt3()
Declaration
public Int3 AsInt3() const
Returns
|
Int3
|
AsInt4()
Declaration
public Int4 AsInt4() const
Returns
|
Int4
|
AsMatrix()
AsQuaternion()
AsRay()
AsRectangle()
AsStructure()
Declaration
public T* AsStructure() const
Returns
|
T
|
Type Parameters
|
typename T
|
AsTransform()
AsVector2()
Declaration
public Vector2 AsVector2() const
Returns
|
Vector2
|
AsVector3()
Declaration
public Vector3 AsVector3() const
Returns
|
Vector3
|
AsVector4()
Declaration
public Vector4 AsVector4() const
Returns
|
Vector4
|
CanCast(const Variant& v, const VariantType& to)
Declaration
public static bool CanCast(const Variant& v, const VariantType& to)
Parameters
|
Variant
v
|
|
VariantType
to
|
Returns
|
bool
|
Cast(const Variant& v, const VariantType& to)
Declaration
public static Variant Cast(const Variant& v, const VariantType& to)
Parameters
|
Variant
v
|
|
VariantType
to
|
Returns
|
Variant
|
Cast(const VariantType& to)
Declaration
public Variant Cast(const VariantType& to) const
Parameters
|
VariantType
to
|
Returns
|
Variant
|
DeleteValue()
Declaration
public void DeleteValue()
Enum(VariantType&& type, const T value)
Declaration
public static TEnableIf<TIsEnum<T>::Value, Variant>::Type Enum(VariantType&& type, const T value)
Parameters
|
VariantType
type
|
|
T
value
|
Returns
|
TEnableIf<TIsEnum<T>::Value, Variant>::Type
|
Type Parameters
|
typename T
|
Inline()
Declaration
public void Inline()
InvertInline()
Declaration
public void InvertInline()
Lerp(const Variant& a, const Variant& b, float alpha)
Declaration
public static Variant Lerp(const Variant& a, const Variant& b, float alpha)
Parameters
|
Variant
a
|
|
Variant
b
|
|
float
alpha
|
Returns
|
Variant
|
NearEqual(const Variant& a, const Variant& b, float epsilon=1e-6f)
Declaration
public static bool NearEqual(const Variant& a, const Variant& b, float epsilon=1e-6f)
Parameters
|
Variant
a
|
|
Variant
b
|
|
float
epsilon
|
Returns
|
bool
|
NewValue(const StringAnsiView& typeName)
Declaration
public static Variant NewValue(const StringAnsiView& typeName)
Parameters
|
StringAnsiView
typeName
|
Returns
|
Variant
|
operator!=(const Variant& other)
Declaration
public bool operator!=(const Variant& other) const
Parameters
|
Variant
other
|
Returns
|
bool
|
operator<(const Variant& other)
operator<=(const Variant& other)
Declaration
public bool operator<=(const Variant& other) const
Parameters
|
Variant
other
|
Returns
|
bool
|
operator=(const Variant& other)
operator=(Variant&& other)
operator==(const Variant& other)
Declaration
public bool operator==(const Variant& other) const
Parameters
|
Variant
other
|
Returns
|
bool
|
operator>(const Variant& other)
operator>=(const Variant& other)
Declaration
public bool operator>=(const Variant& other) const
Parameters
|
Variant
other
|
Returns
|
bool
|
Parse(const StringView& text, const VariantType& type=VariantType())
Declaration
public static Variant Parse(const StringView& text, const VariantType& type=VariantType())
Parameters
|
StringView
text
|
|
VariantType
type
|
Returns
|
Variant
|
SetAsset(Asset* asset)
SetBlob(const void* data, int32 length)
Declaration
public void SetBlob(const void* data, int32 length)
Parameters
|
void
data
|
|
int32
length
|
SetBlob(int32 length)
Declaration
public void SetBlob(int32 length)
Parameters
|
int32
length
|
SetManagedObject(MObject* object)
Declaration
public void SetManagedObject(MObject* object)
Parameters
|
MObject
object
|
SetObject(ScriptingObject* object)
SetString(const StringAnsiView& str)
SetString(const StringView& str)
SetType(const VariantType& type)
SetType(VariantType&& type)
SetTypename(const StringAnsiView& typeName)
Declaration
public void SetTypename(const StringAnsiView& typeName)
Parameters
|
StringAnsiView
typeName
|
SetTypename(const StringView& typeName)
Structure(VariantType&& type, const T& value)
Declaration
public static TEnableIf<!TIsEnum<T>::Value!TIsPointer<T>::Value, Variant>::Type Structure(VariantType&& type, const T& value)
Parameters
|
VariantType
type
|
|
T
value
|
Returns
|
TEnableIf<!TIsEnum<T>::Value!TIsPointer<T>::Value, Variant>::Type
|
Type Parameters
|
typename T
|
ToString()
Typename(const StringAnsiView& value)
Declaration
public static Variant Typename(const StringAnsiView& value)
Parameters
|
StringAnsiView
value
|
Returns
|
Variant
|
Variant()
Declaration
public Variant()
Returns
|
FORCE_INLINE
|