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

#include <to-json-visitor.hpp>

Classes

struct  HelperVisitor
 

Public Member Functions

 ToJsonVisitor ()
 
 ToJsonVisitor (const ToJsonVisitor &visitor)
 
 ~ToJsonVisitor ()
 
ToJsonVisitoroperator= (const ToJsonVisitor &)=delete
 
std::string toString () const
 
template<typename T >
void visit (const std::string &name, const T &value)
 

Private Member Functions

json_object * detach ()
 

Static Private Member Functions

template<typename T , typename std::enable_if< std::is_integral< T >::value, int >::type = 0>
static json_object * toJsonObject (T value)
 
static json_object * toJsonObject (std::int64_t value)
 
static json_object * toJsonObject (std::uint64_t value)
 
static json_object * toJsonObject (bool value)
 
static json_object * toJsonObject (double value)
 
static json_object * toJsonObject (const std::string &value)
 
static json_object * toJsonObject (char *value)
 
template<typename T >
static json_object * toJsonObject (const std::vector< T > &value)
 
template<typename T , std::size_t N>
static json_object * toJsonObject (const std::array< T, N > &values)
 
template<typename V >
static json_object * toJsonObject (const std::map< std::string, V > &values)
 
template<typename T , typename std::enable_if< isLikeTuple< T >::value, int >::type = 0>
static json_object * toJsonObject (const T &values)
 
template<typename T , typename std::enable_if< isVisitable< T >::value, int >::type = 0>
static json_object * toJsonObject (const T &value)
 
template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
static json_object * toJsonObject (const T &value)
 

Private Attributes

json_object * mObject
 

Constructor & Destructor Documentation

cargo::ToJsonVisitor::ToJsonVisitor ( )
inline
cargo::ToJsonVisitor::ToJsonVisitor ( const ToJsonVisitor visitor)
inline
cargo::ToJsonVisitor::~ToJsonVisitor ( )
inline

Member Function Documentation

json_object* cargo::ToJsonVisitor::detach ( )
inlineprivate
ToJsonVisitor& cargo::ToJsonVisitor::operator= ( const ToJsonVisitor )
delete
template<typename T , typename std::enable_if< std::is_integral< T >::value, int >::type = 0>
static json_object* cargo::ToJsonVisitor::toJsonObject ( value)
inlinestaticprivate
static json_object* cargo::ToJsonVisitor::toJsonObject ( std::int64_t  value)
inlinestaticprivate
static json_object* cargo::ToJsonVisitor::toJsonObject ( std::uint64_t  value)
inlinestaticprivate
static json_object* cargo::ToJsonVisitor::toJsonObject ( bool  value)
inlinestaticprivate
static json_object* cargo::ToJsonVisitor::toJsonObject ( double  value)
inlinestaticprivate
static json_object* cargo::ToJsonVisitor::toJsonObject ( const std::string &  value)
inlinestaticprivate
static json_object* cargo::ToJsonVisitor::toJsonObject ( char *  value)
inlinestaticprivate
template<typename T >
static json_object* cargo::ToJsonVisitor::toJsonObject ( const std::vector< T > &  value)
inlinestaticprivate
template<typename T , std::size_t N>
static json_object* cargo::ToJsonVisitor::toJsonObject ( const std::array< T, N > &  values)
inlinestaticprivate
template<typename V >
static json_object* cargo::ToJsonVisitor::toJsonObject ( const std::map< std::string, V > &  values)
inlinestaticprivate
template<typename T , typename std::enable_if< isLikeTuple< T >::value, int >::type = 0>
static json_object* cargo::ToJsonVisitor::toJsonObject ( const T &  values)
inlinestaticprivate
template<typename T , typename std::enable_if< isVisitable< T >::value, int >::type = 0>
static json_object* cargo::ToJsonVisitor::toJsonObject ( const T &  value)
inlinestaticprivate
template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
static json_object* cargo::ToJsonVisitor::toJsonObject ( const T &  value)
inlinestaticprivate
std::string cargo::ToJsonVisitor::toString ( ) const
inline
template<typename T >
void cargo::ToJsonVisitor::visit ( const std::string &  name,
const T &  value 
)
inline

Member Data Documentation

json_object* cargo::ToJsonVisitor::mObject
private

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