Class Variant

Class Documentation

class Microsoft::Applications::Events::Variant

Variant type for containers.

Public Types

enum Type

Values:

enumerator TYPE_NULL
enumerator TYPE_INT
enumerator TYPE_DOUBLE
enumerator TYPE_STRING
enumerator TYPE_STRING2
enumerator TYPE_BOOL
enumerator TYPE_OBJ
enumerator TYPE_ARR
enumerator TYPE_PTR

Public Functions

inline Variant &ConstNull()
inline Variant()
inline Variant(const Variant &other) noexcept
inline Variant(Variant &&other) noexcept
inline Variant(int8_t v)
inline operator int8_t()
inline Variant &operator=(int8_t v)
inline Variant(int16_t v)
inline operator int16_t()
inline Variant &operator=(int16_t v)
inline Variant(int32_t v)
inline operator int32_t()
inline Variant &operator=(int32_t v)
inline Variant(int64_t v)
inline operator int64_t()
inline Variant &operator=(int64_t v)
inline Variant(uint8_t v)
inline operator uint8_t()
inline Variant &operator=(uint8_t v)
inline Variant(uint16_t v)
inline operator uint16_t()
inline Variant &operator=(uint16_t v)
inline Variant(uint32_t v)
inline operator uint32_t()
inline Variant &operator=(uint32_t v)
inline Variant(uint64_t v)
inline operator uint64_t()
inline Variant &operator=(uint64_t v)
inline Variant(float v)
inline operator float()
inline Variant &operator=(float v)
inline Variant(double v)
inline operator double()
inline Variant &operator=(double v)
inline Variant(void *v)
inline operator void*()
inline Variant &operator=(void *v)
inline Variant(const char *v)
inline operator const char*()
inline Variant &operator=(std::string value)
inline Variant &operator=(const char *value)
inline Variant &assign(const Variant &other)
inline Variant &operator=(Variant other)
inline Variant &move(Variant &&other)
inline Variant(bool v)
inline operator bool()
inline Variant &operator=(bool v)
inline Variant(VariantMap &m)
inline Variant(VariantMap &&m)
inline Variant(const std::initializer_list<std::pair<std::string, Variant>> &l)
inline Variant(VariantArray &a)
inline Variant(VariantArray &&a)
inline virtual ~Variant()
inline operator std::string&()
inline Variant(const std::string &v)
inline Variant(std::string &&v)
inline operator VariantMap&()
inline operator VariantMap&() const
inline operator VariantArray&()
inline Variant &operator[](const char *k)
inline Variant &operator()(size_t idx)

Public Members

int64_t iV
double dV
const char *sV
bool bV
void *pV
Type type

Public Static Functions

static inline std::string escape(const std::string &s)
static inline void serialize(Variant &v, std::string &out)

Serialize variant value.

Append to out.

static inline void serialize(VariantMap &varMap, std::string &out)

Serialize variant object (map).

Append to out.

static inline Variant from_array(std::initializer_list<Variant> l)

C++11 initializer list support for vectors.

static inline void merge_map(VariantMap &lhs, const VariantMap &rhs, bool overwrite = false)
template<class Map>
static inline Variant from_map(Map &src)
template<class Vector>
static inline Variant from_vector(Vector &src)