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::@116::@118 AsBlob
Field Value
struct Variant::@116::@118
|
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
|