carb::variant
-
namespace variant
Namespace for carb.variant.plugin and related utilities.
Classes
carb::variant::Registrar: Lifetime management wrapper for IVariant::registerType() .
carb::variant::Variant: A wrapper class for managing the lifetime of VariantData and converting the contained value to C++ types.
carb::variant::VariantArray: An array-of-variants type that can itself be contained in a Variant .
carb::variant::VariantMap: An associative array (i.e.
Functions
carb::variant::translate: A helper function to translate a typed value into a VariantData via a Translator .
Structs
carb::variant::IVariant: Interface for carb.variant.plugin
carb::variant::KeyValuePair: A representation of a key value pair, similar to
std::pair<const Variant, Variant>
.carb::variant::Translator: Default implementation of a Translator type.
carb::variant::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
.carb::variant::VariantData: A standard-layout.
carb::variant::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
carb::variant::VariantArrayPtr: Helper definition.
carb::variant::VariantMapPtr: Helper definition.
Variables
carb::variant::eBool: Represents
bool
.carb::variant::eCharPtr: Represents
char*
orconst char*
carb::variant::eDictionary: Represents
dictionary::Item
.carb::variant::eDouble: Represents
double
.carb::variant::eFloat: Represents
float
.carb::variant::eInt16: Represents
int16_t
orshort
carb::variant::eInt32: Represents
int32_t
orint
carb::variant::eInt64: Represents
int64_t
orlong long
carb::variant::eInt8: Represents
int8_t
orsigned char
carb::variant::eNull: Represents
nullptr
.carb::variant::eRString: Represents
RString
.carb::variant::eRStringKey: Represents
RStringKey
.carb::variant::eRStringU: Represents
RStringU
.carb::variant::eRStringUKey: Represents
RStringUKey
.carb::variant::eString: Represents
omni::string
.carb::variant::eUInt16: Represents
uint16_t
orunsigned short
carb::variant::eUInt32: Represents
uint32_t
orunsigned int
carb::variant::eUInt64: Represents
uint64_t
orunsigned long long
carb::variant::eUInt8: Represents
uint8_t
orunsigned char
carb::variant::eVariantArray: Represents
VariantArray*
.carb::variant::eVariantMap: Represents
VariantMap*
.carb::variant::eVariantPair: Represents
std::pair<Variant, Variant>