1 #ifndef __JDB_JSONSUPPORTKIT__ 
    2 #define __JDB_JSONSUPPORTKIT__ 
   11 #include "TDictionary.h" 
   27 namespace JDATABASE {}
 
   28 namespace JPP { 
using namespace JDATABASE; }
 
   48     js = 
json(static_cast<const std::string&>(
object));
 
   72     virtual void to_json(
json& js, 
const void* p) 
const = 0;
 
  100     public std::map< std::string, std::shared_ptr<JSonIO> >,
 
  120       for_each<JRemove<JPrimitiveTypes_t, JTypeList<char, long double> >::typelist>(*this);
 
  139       const TDictionary* pDictionary = TDictionary::GetDictionary(
typeid(
T));
 
  141       if (pDictionary != NULL)
 
  142         return pDictionary->GetName();
 
  155       (*this)[getTypename<T>()] = std::make_shared< 
JSonIO_t<T> >();
 
  178       for (unique_ptr<TIterator> 
i(cls.
getClass()->GetListOfDataMembers()->MakeIterator()); 
const TDataMember* p = (
const TDataMember*) 
i->Next(); ) {
 
  203       for (unique_ptr<TIterator> 
i(cls.
getClass()->GetListOfDataMembers()->MakeIterator()); 
const TDataMember* p = (
const TDataMember*) 
i->Next(); ) {
 
  209           if (js.contains(p->GetName()))
 
  221 namespace JDATABASE {}
 
  222 namespace JPP { 
using namespace JDATABASE; }
 
  224 namespace JDATABASE {
 
static const char * getTypename()
Get typename for given template class. 
 
virtual void to_json(json &js, const void *p) const override
 
ROOT class for reading object. 
 
JSonDictionary()
Default constructor. 
 
friend void to_json(json &js, const T &object)
Convert object to JSon. 
 
Wrapper class to read string until end-of-line. 
 
virtual void from_json(const json &js, void *p) const override
 
friend void from_json(const json &js, T &object)
Convert JSon to object/. 
 
const char * getTypename() const 
Get type name. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
void from_json(const json &js, JDBString &object)
Convert JSon to database string. 
 
Auxiliary class for a type holder. 
 
Assigment implementation. 
 
virtual void from_json(const json &js, void *p) const =0
 
Auxiliary base class for JSon I/O based on ROOT dictionary. 
 
pointer_type getAddress() const 
Get address. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
void operator()(const JLANG::JType< T > &type)
Add data type. 
 
Exception when parsing a value. 
 
JRootAddressableClass get(const TDataMember &data_member) const 
Get addressable class of given data member. 
 
Type list of primitive data types. 
 
TClass * getClass() const 
Get class. 
 
static data_type & getInstance()
Get unique instance of template class. 
 
void to_json(json &js, const std::string &query)
Get result set. 
 
virtual void to_json(json &js, const void *p) const =0
 
static bool is_static(const TDataMember &data_member)
Check if data member is static. 
 
ROOT class for writing object.