variant#
Fully qualified name: carb::variant
-
namespace variant#
Namespace for carb.variant.plugin and related utilities.
Classes#
- Registrar
Lifetime management wrapper for IVariant::registerType() .
- Variant
A wrapper class for managing the lifetime of VariantData and converting the contained value to C++ types.
- VariantArray
An array-of-variants type that can itself be contained in a Variant .
- VariantMap
An associative array (i.e.
Functions#
- bool operator!=(const Variant &lhs, const Variant &rhs)
Tests for inequality between two variants.
- bool operator==(const Variant &lhs, const Variant &rhs)
Tests for equality between two variants.
- VariantData translate(Type &&type) noexcept
A helper function to translate a typed value into a VariantData via a Translator .
Structs#
- IVariant
Interface for carb.variant.plugin
- KeyValuePair
A representation of a key value pair, similar to
std::pair<const Variant, Variant>.- Translator
Default implementation of a Translator type.
- VTable
A v-table definition for a variant type. Each registered type has a unique v-table pointer that is retrievable via IVariant::getVTable() . Each entry in the v-table is a function with a default behavior if
nullptr.- VariantData
A standard-layout.
- traits
A structure containing functions for performing the prescribed actions on a VariantData . The functions handle the default behavior if the v-table or v-table function are
nullptr.
Typedefs#
- VariantArrayPtr
Helper definition.
- VariantMapPtr
Helper definition.
Variables#
- constexpr RString eBool
Represents
bool.- constexpr RString eCharPtr
Represents
char*orconst char*- constexpr RString eCharPtrCopy
Represents
char*orconst char*- constexpr RString eDictionary
Represents
dictionary::Item.- constexpr RString eDictionaryCopy
A special conversion type.
- constexpr RString eDouble
Represents
double.- constexpr RString eFloat
Represents
float.- constexpr RString eIObject
Represents
IObject.- constexpr RString eInt16
Represents
int16_torshort- constexpr RString eInt32
Represents
int32_torint- constexpr RString eInt64
Represents
int64_torlong long- constexpr RString eInt8
Represents
int8_torsigned char- constexpr RString eNull
Represents
nullptr.- constexpr RString eRString
Represents
RString.- constexpr RString eRStringKey
Represents
RStringKey.- constexpr RString eRStringU
Represents
RStringU.- constexpr RString eRStringUKey
Represents
RStringUKey.- constexpr RString eString
Represents
omni::string.- constexpr RString eUInt16
Represents
uint16_torunsigned short- constexpr RString eUInt32
Represents
uint32_torunsigned int- constexpr RString eUInt64
Represents
uint64_torunsigned long long- constexpr RString eUInt8
Represents
uint8_torunsigned char- constexpr RString eVariantArray
Represents
VariantArray*.- constexpr RString eVariantMap
Represents
VariantMap*.- constexpr RString eVariantPair
Represents
std::pair<Variant, Variant>