This is the documentation for Enlighten.

class Geo GeoVariant

class Geo::GeoVariant

Variant class for storing name/value pairs in a map, where the value is a subset of common value types.

The variant is an immutable object, akin to C# style strings.

Classes

Name Description
Geo::GeoVariant::LinkData

GUID class for representing links.

Geo::GeoVariant::UrlData

String class for representing URLs (e.g. file paths).

Functions

Name Description
FromStringRepresentation(Type, const char *)

Create a new GeoVariant from the string representation.

GeoVariant(const GeoVariant &)

Copy constructor (we can't use the compiler-generated one as we may need to copy the heap data if this is a Url GeoVariant).

GeoVariant(Type)

Construct a GeoVariant of a given type, with a default value.

GeoVariant(const LinkData &)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(const UrlData &)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(const Geo::Matrix &)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(const v128 &)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(const GeoString< char > &)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(const char *)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(bool)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(float)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(u64)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(s64)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(u32)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(s32)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(s16)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(u16)

Construct a GeoVariant of the given type, with the specified value.

GeoVariant(GeoGuid)

Construct a GeoVariant of the given type, with the specified value.

GetStringRepresentation()

Convert the value to a string, for use when serialising or presenting in a dialog.

GetType()

Returns the type of this GeoVariant.

Load(IGeoInputStream &)

Binary serialisation functions.

operator!=(const GeoVariant &)

Comparison operators.

operator=(const GeoVariant &)

Assignment.

operator==(const GeoVariant &)

Comparison operators.

Save(IGeoStream &)

Binary serialisation functions.

ToBool()

Conversion to the underlying type.

ToCString()

Conversion to the underlying type.

ToFloat()

Conversion to the underlying type.

ToGuid()

Conversion to the underlying type.

ToInteger()

Conversion to the underlying type.

ToInteger64()

Conversion to the underlying type.

ToLink()

Conversion to the underlying type.

ToMatrix()

Conversion to the underlying type.

ToShort()

Conversion to the underlying type.

ToUnsignedInteger()

Conversion to the underlying type.

ToUnsignedInteger64()

Conversion to the underlying type.

ToUnsignedShort()

Conversion to the underlying type.

ToUrl()

Conversion to the underlying type.

ToVector()

Conversion to the underlying type.

Enums

Name Description
Type

The possible data types that the GeoVariant can hold.

Variables

Name Description
const GeoVariant InvalidStatic

A single const invalid GeoVariant.


static GeoVariant Geo::GeoVariant::FromStringRepresentation


public: GeoVariant FromStringRepresentation
(
    Type type,
    const char * value
)


Create a new GeoVariant from the string representation.

The function requires the type it will create and the new value. The conversion functions are not checked, so failure to convert will result in a GeoVariant of the correct type and a default value.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const GeoVariant & rhs
)


Copy constructor (we can't use the compiler-generated one as we may need to copy the heap data if this is a Url GeoVariant).


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    Type t
)


Construct a GeoVariant of a given type, with a default value.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const LinkData & x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const UrlData & x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const Geo::Matrix & x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const v128 & x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const GeoString< char > & x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    const char * x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    bool x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    float x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    u64 x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    s64 x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    u32 x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    s32 x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    s16 x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    u16 x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


Geo::GeoVariant::GeoVariant


public: GeoVariant
(
    GeoGuid x
)


Construct a GeoVariant of the given type, with the specified value.

The various string representations are all internally converted to the utf8 String enum, truncation to 64 characters is silent and will not cause it to fail.


GeoString<char> Geo::GeoVariant::GetStringRepresentation


public: GeoString< char > GetStringRepresentation() const


Convert the value to a string, for use when serialising or presenting in a dialog.


Type Geo::GeoVariant::GetType


public: Type GetType() const


Returns the type of this GeoVariant.


bool Geo::GeoVariant::Load


public: bool Load
(
    IGeoInputStream & stream
)


Binary serialisation functions.


bool Geo::GeoVariant::operator!=


public: bool operator!=
(
    const GeoVariant & rhs
) const


Comparison operators.


GeoVariant& Geo::GeoVariant::operator=


public: GeoVariant & operator=
(
    const GeoVariant & rhs
)


Assignment.


bool Geo::GeoVariant::operator==


public: bool operator==
(
    const GeoVariant & rhs
) const


Comparison operators.


bool Geo::GeoVariant::Save


public: bool Save
(
    IGeoStream & stream
) const


Binary serialisation functions.


bool Geo::GeoVariant::ToBool


public: bool ToBool() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


const char* Geo::GeoVariant::ToCString


public: const char * ToCString() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


float Geo::GeoVariant::ToFloat


public: float ToFloat() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


GeoGuid Geo::GeoVariant::ToGuid


public: GeoGuid ToGuid() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


s32 Geo::GeoVariant::ToInteger


public: s32 ToInteger() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


s64 Geo::GeoVariant::ToInteger64


public: s64 ToInteger64() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).



public: LinkData ToLink() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


Geo::Matrix Geo::GeoVariant::ToMatrix


public: Geo::Matrix ToMatrix() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


s16 Geo::GeoVariant::ToShort


public: s16 ToShort() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


u32 Geo::GeoVariant::ToUnsignedInteger


public: u32 ToUnsignedInteger() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


u64 Geo::GeoVariant::ToUnsignedInteger64


public: u64 ToUnsignedInteger64() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


u16 Geo::GeoVariant::ToUnsignedShort


public: u16 ToUnsignedShort() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


UrlData Geo::GeoVariant::ToUrl


public: UrlData ToUrl() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


v128 Geo::GeoVariant::ToVector


public: v128 ToVector() const


Conversion to the underlying type.

Converting a GeoVariant containing type A to a different type will result in a default value. It will not follow C++ conversion rules (so if you ask for an Integer, and it contains a Short, you will get a 0 result).


Type


public: enum Type
{
    Invalid = -1,
    Bool,
    Short,
    UnsignedShort,
    Integer,
    UnsignedInteger,
    Integer64,
    UnsignedInteger64,
    Float,
    Guid,
    String,
    Vector,
    Matrix,
    Url,
    Link
}


The possible data types that the GeoVariant can hold.

enumerators
Invalid
Bool
Short
UnsignedShort
Integer
UnsignedInteger
Integer64
UnsignedInteger64
Float
Guid
String
Vector
Matrix
Url
Link