Collaboration diagram for uscxml::Data:
[legend]

Public Types

enum  Type { VERBATIM, INTERPRETED }
 

Public Member Functions

 Data (const char *data, size_t size, const std::string &mimeType, bool adopt=false)
 
 Data (bool atom)
 
template<typename T >
 Data (T value, typename std::enable_if<!std::is_base_of< Data, T >::value >::type *=nullptr)
 
template<typename T >
 Data (T value, Type type, typename std::enable_if<!std::is_base_of< Data, T >::value >::type *=nullptr)
 
std::string asJSON () const
 
const Data at (const std::string &key) const
 
const Data at (const char *key) const
 
bool empty () const
 
std::list< DatagetArray ()
 
std::string getAtom () const
 
Blob getBinary ()
 
std::map< std::string, DatagetCompound ()
 
Type getType ()
 
bool hasKey (const std::string &key) const
 
const Data item (const size_t index) const
 
void merge (const Data &other)
 
 operator std::list< Data > ()
 
 operator std::map< std::string, Data > ()
 
 operator std::string () const
 
bool operator!= (const Data &other) const
 
bool operator< (const Data &other) const
 
bool operator== (const Data &other) const
 
Dataoperator[] (const std::string &key)
 
const Dataoperator[] (const std::string &key) const
 
Dataoperator[] (const char *key)
 
const Dataoperator[] (const char *key) const
 
Dataoperator[] (const size_t index)
 
void put (std::string key, const Data &data)
 
void put (size_t index, const Data &data)
 
void setArray (const std::list< Data > &array)
 
void setAtom (const std::string &atom)
 
void setBinary (const Blob &binary)
 
void setCompound (const std::map< std::string, Data > &compound)
 
void setType (const Type type)
 

Static Public Member Functions

static Data fromJSON (const std::string &jsonString)
 
static std::string toJSON (const Data &data)
 

Public Attributes

std::shared_ptr< XERCESC_NS::DOMDocument > adoptedDoc
 
std::list< Dataarray
 
std::string atom
 
Blob binary
 
std::map< std::string, Datacompound
 
XERCESC_NS::DOMNode * node
 
Type type
 

Friends

USCXML_API std::ostream & operator<< (std::ostream &os, const Data &data)
 

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