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_torshortcarb::variant::eInt32: Represents
int32_torintcarb::variant::eInt64: Represents
int64_torlong longcarb::variant::eInt8: Represents
int8_torsigned charcarb::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_torunsigned shortcarb::variant::eUInt32: Represents
uint32_torunsigned intcarb::variant::eUInt64: Represents
uint64_torunsigned long longcarb::variant::eUInt8: Represents
uint8_torunsigned charcarb::variant::eVariantArray: Represents
VariantArray*.carb::variant::eVariantMap: Represents
VariantMap*.carb::variant::eVariantPair: Represents
std::pair<Variant, Variant>