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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoVariant::GeoVariant
...
public: GeoVariant
(
Type t
)
...
Construct a GeoVariant of a given type, with a default value.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
Type Geo::GeoVariant::GetType
...
public: Type GetType() const
...
Returns the type of this GeoVariant.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoVariant::Load
...
public: bool Load
(
IGeoInputStream & stream
)
...
Binary serialisation functions.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoVariant::operator!=
...
public: bool operator!=
(
const GeoVariant & rhs
) const
...
Comparison operators.
Anchor | ||||
---|---|---|---|---|
|
GeoVariant& Geo::GeoVariant::operator=
...
public: GeoVariant & operator=
(
const GeoVariant & rhs
)
...
Assignment.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoVariant::operator==
...
public: bool operator==
(
const GeoVariant & rhs
) const
...
Comparison operators.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoVariant::Save
...
public: bool Save
(
IGeoStream & stream
) const
...
Binary serialisation functions.
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
LinkData Geo::GeoVariant::ToLink
...
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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).
Anchor | ||||
---|---|---|---|---|
|
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 |