xbmc
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
CVariant Class Reference
Collaboration diagram for CVariant:
Collaboration graph
[legend]

Public Types

enum  VariantType {
  VariantTypeNull, VariantTypeConstNull, VariantTypeInteger, VariantTypeUnsignedInteger,
  VariantTypeBoolean, VariantTypeDouble, VariantTypeString, VariantTypeWideString,
  VariantTypeArray, VariantTypeObject
}
 
typedef VariantArray::iterator iterator_array
 
typedef VariantArray::const_iterator const_iterator_array
 
typedef VariantMap::iterator iterator_map
 
typedef VariantMap::const_iterator const_iterator_map
 

Public Member Functions

 CVariant (VariantType type)
 
 CVariant (int integer)
 
 CVariant (int64_t integer)
 
 CVariant (unsigned int unsignedinteger)
 
 CVariant (uint64_t unsignedinteger)
 
 CVariant (double value)
 
 CVariant (float value)
 
 CVariant (bool boolean)
 
 CVariant (const char *str)
 
 CVariant (const char *str, unsigned int length)
 
 CVariant (const std::string &str)
 
 CVariant (std::string &&str)
 
 CVariant (const wchar_t *str)
 
 CVariant (const wchar_t *str, unsigned int length)
 
 CVariant (const std::wstring &str)
 
 CVariant (std::wstring &&str)
 
 CVariant (const std::vector< std::string > &strArray)
 
 CVariant (std::vector< std::string > &&strArray)
 
 CVariant (const std::map< std::string, std::string > &strMap)
 
 CVariant (std::map< std::string, std::string > &&strMap)
 
 CVariant (const std::map< std::string, CVariant > &variantMap)
 
 CVariant (std::map< std::string, CVariant > &&variantMap)
 
 CVariant (const CVariant &variant)
 
 CVariant (CVariant &&rhs) noexcept
 
bool isInteger () const
 
bool isSignedInteger () const
 
bool isUnsignedInteger () const
 
bool isBoolean () const
 
bool isString () const
 
bool isWideString () const
 
bool isDouble () const
 
bool isArray () const
 
bool isObject () const
 
bool isNull () const
 
VariantType type () const
 
int64_t asInteger (int64_t fallback=0) const
 
int32_t asInteger32 (int32_t fallback=0) const
 
uint64_t asUnsignedInteger (uint64_t fallback=0u) const
 
uint32_t asUnsignedInteger32 (uint32_t fallback=0u) const
 
bool asBoolean (bool fallback=false) const
 
std::string asString (std::string_view="") const &
 
std::string asString (std::string_view="") &&
 
std::wstring asWideString (std::wstring_view=L"") const &
 
std::wstring asWideString (std::wstring_view=L"") &&
 
double asDouble (double fallback=0.0) const
 
float asFloat (float fallback=0.0f) const
 
CVariantoperator[] (const std::string &key) &
 
const CVariantoperator[] (const std::string &key) const &
 
CVariant operator[] (const std::string &key) &&
 
CVariantoperator[] (unsigned int position) &
 
const CVariantoperator[] (unsigned int position) const &
 
CVariant operator[] (unsigned int position) &&
 
CVariantoperator= (const CVariant &rhs)
 
CVariantoperator= (CVariant &&rhs) noexcept
 
bool operator== (const CVariant &rhs) const
 
bool operator!= (const CVariant &rhs) const
 
void reserve (size_t length)
 
void push_back (const CVariant &variant)
 
void push_back (CVariant &&variant)
 
void append (const CVariant &variant)
 
void append (CVariant &&variant)
 
const char * c_str () const
 
void swap (CVariant &rhs) noexcept
 
iterator_array begin_array ()
 
const_iterator_array begin_array () const
 
iterator_array end_array ()
 
const_iterator_array end_array () const
 
iterator_map begin_map ()
 
const_iterator_map begin_map () const
 
iterator_map end_map ()
 
const_iterator_map end_map () const
 
unsigned int size () const
 
bool empty () const
 
void clear ()
 
void erase (const std::string &key)
 
void erase (unsigned int position)
 
bool isMember (const std::string &key) const
 

Static Public Attributes

static CVariant ConstNullVariant = CVariant::VariantTypeConstNull
 

The documentation for this class was generated from the following files: