Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cargo::FromJsonVisitor Class Reference

#include <from-json-visitor.hpp>

Classes

struct  HelperVisitor
 

Public Member Functions

 FromJsonVisitor (const std::string &jsonString)
 
 FromJsonVisitor (const FromJsonVisitor &visitor)
 
 ~FromJsonVisitor ()
 
FromJsonVisitoroperator= (const FromJsonVisitor &)=delete
 
template<typename T >
void visit (const std::string &name, T &value)
 

Private Member Functions

 FromJsonVisitor (json_object *object)
 

Static Private Member Functions

static void checkType (json_object *object, json_type type)
 
template<typename T , typename std::enable_if< std::is_integral< T >::value, int >::type = 0>
static void fromJsonObject (json_object *object, T &value)
 
static void fromJsonObject (json_object *object, bool &value)
 
static void fromJsonObject (json_object *object, double &value)
 
static void fromJsonObject (json_object *object, std::string &value)
 
static void fromJsonObject (json_object *object, char *&value)
 
template<typename T >
static void fromJsonObject (json_object *object, std::vector< T > &values)
 
template<typename T , std::size_t N>
static void fromJsonObject (json_object *object, std::array< T, N > &values)
 
template<typename V >
static void fromJsonObject (json_object *object, std::map< std::string, V > &values)
 
template<typename T , typename std::enable_if< isLikeTuple< T >::value, int >::type = 0>
static void fromJsonObject (json_object *object, T &values)
 
template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
static void fromJsonObject (json_object *object, T &value)
 
template<typename T , typename std::enable_if< isVisitable< T >::value, int >::type = 0>
static void fromJsonObject (json_object *object, T &value)
 

Private Attributes

json_object * mObject
 

Constructor & Destructor Documentation

cargo::FromJsonVisitor::FromJsonVisitor ( const std::string &  jsonString)
inlineexplicit
cargo::FromJsonVisitor::FromJsonVisitor ( const FromJsonVisitor visitor)
inline
cargo::FromJsonVisitor::~FromJsonVisitor ( )
inline
cargo::FromJsonVisitor::FromJsonVisitor ( json_object *  object)
inlineexplicitprivate

Member Function Documentation

static void cargo::FromJsonVisitor::checkType ( json_object *  object,
json_type  type 
)
inlinestaticprivate
template<typename T , typename std::enable_if< std::is_integral< T >::value, int >::type = 0>
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
T &  value 
)
inlinestaticprivate
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
bool &  value 
)
inlinestaticprivate
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
double &  value 
)
inlinestaticprivate
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
std::string &  value 
)
inlinestaticprivate
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
char *&  value 
)
inlinestaticprivate
template<typename T >
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
std::vector< T > &  values 
)
inlinestaticprivate
template<typename T , std::size_t N>
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
std::array< T, N > &  values 
)
inlinestaticprivate
template<typename V >
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
std::map< std::string, V > &  values 
)
inlinestaticprivate
template<typename T , typename std::enable_if< isLikeTuple< T >::value, int >::type = 0>
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
T &  values 
)
inlinestaticprivate
template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
T &  value 
)
inlinestaticprivate
template<typename T , typename std::enable_if< isVisitable< T >::value, int >::type = 0>
static void cargo::FromJsonVisitor::fromJsonObject ( json_object *  object,
T &  value 
)
inlinestaticprivate
FromJsonVisitor& cargo::FromJsonVisitor::operator= ( const FromJsonVisitor )
delete
template<typename T >
void cargo::FromJsonVisitor::visit ( const std::string &  name,
T &  value 
)
inline

Member Data Documentation

json_object* cargo::FromJsonVisitor::mObject
private

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