Urho3D
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes
Urho3D::Variant Class Reference

Variable that supports a fixed set of types. More...

#include <Variant.h>

List of all members.

Public Member Functions

 Variant ()
 Construct empty.
 Variant (int value)
 Construct from integer.
 Variant (unsigned value)
 Construct from unsigned integer.
 Variant (const StringHash &value)
 Construct from a string hash (convert to integer.)
 Variant (const ShortStringHash &value)
 Construct from a short string hash (convert to integer.)
 Variant (bool value)
 Construct from a bool.
 Variant (float value)
 Construct from a float.
 Variant (const Vector2 &value)
 Construct from a Vector2.
 Variant (const Vector3 &value)
 Construct from a Vector3.
 Variant (const Vector4 &value)
 Construct from a Vector4.
 Variant (const Quaternion &value)
 Construct from a quaternion.
 Variant (const Color &value)
 Construct from a color.
 Variant (const String &value)
 Construct from a string.
 Variant (const char *value)
 Construct from a C string.
 Variant (const PODVector< unsigned char > &value)
 Construct from a buffer.
 Variant (void *value)
 Construct from a pointer.
 Variant (const ResourceRef &value)
 Construct from a resource reference.
 Variant (const ResourceRefList &value)
 Construct from a resource reference list.
 Variant (const VariantVector &value)
 Construct from a variant vector.
 Variant (const VariantMap &value)
 Construct from a variant map.
 Variant (const IntRect &value)
 Construct from an integer rect.
 Variant (const IntVector2 &value)
 Construct from an IntVector2.
 Variant (const String &type, const String &value)
 Construct from type and value.
 Variant (VariantType type, const String &value)
 Construct from type and value.
 Variant (const char *type, const char *value)
 Construct from type and value.
 Variant (VariantType type, const char *value)
 Construct from type and value.
 Variant (const Variant &value)
 Copy-construct from another variant.
 ~Variant ()
 Destruct.
void Clear ()
 Reset to empty.
Variantoperator= (const Variant &rhs)
 Assign from another variant.
Variantoperator= (int rhs)
 Assign from an integer.
Variantoperator= (unsigned rhs)
 Assign from an unsigned integer.
Variantoperator= (const StringHash &rhs)
 Assign from a StringHash (convert to integer.)
Variantoperator= (const ShortStringHash &rhs)
 Assign from a ShortStringHash (convert to integer)
Variantoperator= (bool rhs)
 Assign from a bool.
Variantoperator= (float rhs)
 Assign from a float.
Variantoperator= (const Vector2 &rhs)
 Assign from a Vector2.
Variantoperator= (const Vector3 &rhs)
 Assign from a Vector3.
Variantoperator= (const Vector4 &rhs)
 Assign from a Vector4.
Variantoperator= (const Quaternion &rhs)
 Assign from a quaternion.
Variantoperator= (const Color &rhs)
 Assign from a color.
Variantoperator= (const String &rhs)
 Assign from a string.
Variantoperator= (const char *rhs)
 Assign from a C string.
Variantoperator= (const PODVector< unsigned char > &rhs)
 Assign from a buffer.
Variantoperator= (void *rhs)
 Assign from a pointer.
Variantoperator= (const ResourceRef &rhs)
 Assign from a resource reference.
Variantoperator= (const ResourceRefList &rhs)
 Assign from a resource reference list.
Variantoperator= (const VariantVector &rhs)
 Assign from a variant vector.
Variantoperator= (const VariantMap &rhs)
 Assign from a variant map.
Variantoperator= (const IntRect &rhs)
 Assign from an integer rect.
Variantoperator= (const IntVector2 &rhs)
 Assign from an IntVector2.
bool operator== (const Variant &rhs) const
 Test for equality with another variant.
bool operator!= (const Variant &rhs) const
 Test for inequality with another variant.
bool operator== (int rhs) const
 Test for equality with an integer. To return true, both the type and value must match.
bool operator== (unsigned rhs) const
 Test for equality with an unsigned integer. To return true, both the type and value must match.
bool operator== (bool rhs) const
 Test for equality with a bool. To return true, both the type and value must match.
bool operator== (float rhs) const
 Test for equality with a float. To return true, both the type and value must match.
bool operator== (const Vector2 &rhs) const
 Test for equality with a Vector2. To return true, both the type and value must match.
bool operator== (const Vector3 &rhs) const
 Test for equality with a Vector3. To return true, both the type and value must match.
bool operator== (const Vector4 &rhs) const
 Test for equality with a Vector4. To return true, both the type and value must match.
bool operator== (const Quaternion &rhs) const
 Test for equality with a quaternion. To return true, both the type and value must match.
bool operator== (const Color &rhs) const
 Test for equality with a color. To return true, both the type and value must match.
bool operator== (const String &rhs) const
 Test for equality with a string. To return true, both the type and value must match.
bool operator== (const PODVector< unsigned char > &rhs) const
 Test for equality with a buffer. To return true, both the type and value must match.
bool operator== (void *rhs) const
 Test for equality with a pointer. To return true, both the type and value must match.
bool operator== (const ResourceRef &rhs) const
 Test for equality with a resource reference. To return true, both the type and value must match.
bool operator== (const ResourceRefList &rhs) const
 Test for equality with a resource reference list. To return true, both the type and value must match.
bool operator== (const VariantVector &rhs) const
 Test for equality with a variant vector. To return true, both the type and value must match.
bool operator== (const VariantMap &rhs) const
 Test for equality with a variant map. To return true, both the type and value must match.
bool operator== (const IntRect &rhs) const
 Test for equality with an integer rect. To return true, both the type and value must match.
bool operator== (const IntVector2 &rhs) const
 Test for equality with an IntVector2. To return true, both the type and value must match.
bool operator== (const StringHash &rhs) const
 Test for equality with a StringHash. To return true, both the type and value must match.
bool operator== (const ShortStringHash &rhs) const
 Test for equality with a ShortStringHash. To return true, both the type and value must match.
bool operator!= (int rhs) const
 Test for inequality with an integer.
bool operator!= (unsigned rhs) const
 Test for inequality with an unsigned integer.
bool operator!= (bool rhs) const
 Test for inequality with a bool.
bool operator!= (float rhs) const
 Test for inequality with a float.
bool operator!= (const Vector2 &rhs) const
 Test for inequality with a Vector2.
bool operator!= (const Vector3 &rhs) const
 Test for inequality with a Vector3.
bool operator!= (const Vector4 &rhs) const
 Test for inequality with an Vector4.
bool operator!= (const Quaternion &rhs) const
 Test for inequality with a Quaternion.
bool operator!= (const String &rhs) const
 Test for inequality with a string.
bool operator!= (const PODVector< unsigned char > &rhs) const
 Test for inequality with a buffer.
bool operator!= (void *rhs) const
 Test for inequality with a pointer.
bool operator!= (const ResourceRef &rhs) const
 Test for inequality with a resource reference.
bool operator!= (const ResourceRefList &rhs) const
 Test for inequality with a resource reference list.
bool operator!= (const VariantVector &rhs) const
 Test for inequality with a variant vector.
bool operator!= (const VariantMap &rhs) const
 Test for inequality with a variant map.
bool operator!= (const IntRect &rhs) const
 Test for inequality with an integer rect.
bool operator!= (const IntVector2 &rhs) const
 Test for inequality with an IntVector2.
bool operator!= (const StringHash &rhs) const
 Test for inequality with a StringHash.
bool operator!= (const ShortStringHash &rhs) const
 Test for inequality with a ShortStringHash.
void FromString (const String &type, const String &value)
 Set from typename and value strings. Pointers will be set to null, and VariantBuffer or VariantMap types are not supported.
void FromString (const char *type, const char *value)
 Set from typename and value strings. Pointers will be set to null, and VariantBuffer or VariantMap types are not supported.
void FromString (VariantType type, const String &value)
 Set from type and value string. Pointers will be set to null, and VariantBuffer or VariantMap types are not supported.
void FromString (VariantType type, const char *value)
 Set from type and value string. Pointers will be set to null, and VariantBuffer or VariantMap types are not supported.
void SetBuffer (const void *data, unsigned size)
 Set buffer type from a memory area.
int GetInt () const
 Return int or zero on type mismatch.
int GetUInt () const
 Return unsigned int or zero on type mismatch.
StringHash GetStringHash () const
 Return StringHash or zero on type mismatch.
ShortStringHash GetShortStringHash () const
 Return ShortStringHash or zero on type mismatch.
bool GetBool () const
 Return bool or false on type mismatch.
float GetFloat () const
 Return float or zero on type mismatch.
const Vector2GetVector2 () const
 Return Vector2 or zero on type mismatch.
const Vector3GetVector3 () const
 Return Vector3 or zero on type mismatch.
const Vector4GetVector4 () const
 Return Vector4 or zero on type mismatch.
const QuaternionGetQuaternion () const
 Return quaternion or identity on type mismatch.
const ColorGetColor () const
 Return color or default on type mismatch.
const StringGetString () const
 Return string or empty on type mismatch.
const PODVector< unsigned char > & GetBuffer () const
 Return buffer or empty on type mismatch.
void * GetPtr () const
 Return pointer or null on type mismatch.
const ResourceRefGetResourceRef () const
 Return a resource reference or empty on type mismatch.
const ResourceRefListGetResourceRefList () const
 Return a resource reference list or empty on type mismatch.
const VariantVectorGetVariantVector () const
 Return a variant vector or empty on type mismatch.
const VariantMapGetVariantMap () const
 Return a variant map or empty on type mismatch.
const IntRectGetIntRect () const
 Return an integer rect or empty on type mismatch.
const IntVector2GetIntVector2 () const
 Return an IntVector2 or empty on type mismatch.
template<class T >
Get () const
 Return the value, template version.
VariantType GetType () const
 Return value's type.
const StringGetTypeName () const
 Return value's type name.
String ToString () const
 Convert value to string. Pointers are returned as null, and VariantBuffer or VariantMap are not supported and return empty.

Static Public Member Functions

static const StringGetTypeName (VariantType type)
 Return name for variant type.
static VariantType GetTypeFromName (const String &typeName)
 Return variant type from type name.
static VariantType GetTypeFromName (const char *typeName)
 Return variant type from type name.

Static Public Attributes

static const Variant EMPTY
 Empty variant.

Private Member Functions

void SetType (VariantType newType)
 Set new type and allocate/deallocate memory as necessary.

Private Attributes

VariantType type_
 Variant type.
VariantValue value_
 Variant value.

Static Private Attributes

static const PODVector
< unsigned char > 
emptyBuffer
 Empty buffer.
static const ResourceRef emptyResourceRef
 Empty resource reference.
static const ResourceRefList emptyResourceRefList
 Empty resource reference list.
static const VariantMap emptyVariantMap
 Empty variant map.
static const VariantVector emptyVariantVector
 Empty variant vector.

Detailed Description

Variable that supports a fixed set of types.


The documentation for this class was generated from the following files: