cee::Variant

class Variant

The Variant class acts like a union for the most common data types.

A Variant object holds a single value of a single type() at a time. The methods named get*() (e.g., getInt(), getString()) are const.

Public Types

enum DataType

List of variant data types.

Values:

enumerator INVALID

Invalid.

enumerator INT

Integer data type (int)

enumerator UINT

Unsigned integer data type (unsigned int)

enumerator DOUBLE

Double precision data type (double)

enumerator FLOAT

Floating point data type (float)

enumerator BOOL

Boolean data type (bool)

enumerator VEC3D

Vector data type (cee::Vec3d)

enumerator COLOR3F

Color data type (cee::Color3f)

enumerator STRING

String data type (cee::Str)

enumerator ARRAY

Array data type (std::vector)

Public Functions

Variant()

Creates an empty Variant.

Variant(const Variant &other)

Creates a Variant as a copy of another Variant.

Variant(int val)

Creates a Variant with the int value val.

Variant(unsigned int val)

Creates a Variant with the unsigned int value val.

Variant(double val)

Creates a Variant with the double value val.

Variant(float val)

Creates a Variant with the float value val.

Variant(bool val)

Creates a Variant with the bool value val.

Variant(const Vec3d &val)

Creates a Variant with the Vec3d value val.

Variant(const Color3f &val)

Creates a Variant with the Color3f value val.

Variant(const Str &val)

Creates a Variant with the Str value val.

Variant(const char *val)

Creates a Variant with the const char pointer val.

Variant(const std::vector<Variant> &arr)

Creates a Variant from an array of Variant arr.

Variant &operator=(const Variant &rhs)

Assigns rhs to this and returns a reference to this Variant.

bool operator==(const Variant &rhs) const

Returns true if rhs is equal to this Variant; otherwise returns false.

bool operator!=(const Variant &rhs) const

Returns true if rhs is not equal to this Variant; otherwise returns false.

DataType type() const

Returns the data type of this Variant.

bool isValid() const

Returns true if this is a valid Variant.

int getInt() const

Returns the current value as an int.

Assumes that the type of the Variant is INT. No conversion is done.

unsigned int getUInt() const

Returns the current value as an unsigned int.

Assumes that the type of the Variant is UINT. No conversion is done.

double getDouble() const

Returns the current value as a double.

Assumes that the type of the Variant is DOUBLE. No conversion is done.

float getFloat() const

Returns the current value as a float.

Assumes that the type of the Variant is FLOAT. No conversion is done.

bool getBool() const

Returns the current value as a bool.

Assumes that the type of the Variant is BOOL. No conversion is done.

Vec3d getVec3d() const

Returns the current value as a Vec3d.

Assumes that the type of the Variant is VEC3D. No conversion is done.

Color3f getColor3f() const

Returns the current value as a Color3f.

Assumes that the type of the Variant is COLOR3F. No conversion is done.

Str getString() const

Returns the current value as a string.

Assumes that the type of the Variant is STRING. No conversion is done.

std::vector<Variant> getArray() const

Returns the array of variants.

Assumes that the type of the Variant is ARRAY. No conversion is done.