carb::variant¶
Namespace for carb.variant.plugin and related utilities.
Classes¶
carb::variant::IVariant: Interface for carb.variant.plugin
carb::variant::KeyValuePair: A representation of a key value pair, similar to
None
.carb::variant::traits: A structure containing functions for performing the prescribed actions on a carb::variant::VariantData. The functions handle the default behavior if the v-table or v-table function are
nullptr
.carb::variant::Translator: Default implementation of a carb::variant::Translator type.
carb::variant::VariantData: A standard-layout ABI-safe struct for communicating variant data.
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::Registrar: Lifetime management wrapper for IVariant::registerType().
carb::variant::Variant: A wrapper class for managing the lifetime of carb::variant::VariantData and converting the contained value to C++ types.
carb::variant::VariantArray: An array-of-variants type that can itself be contained in a carb::variant::Variant.
carb::variant::VariantMap: An associative array (i.e.
Functions¶
carb::variant::translate: A helper function to translate a typed value into a carb::variant::VariantData via a carb::variant::Translator.
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
None