1 #ifndef __JROOT__JROOTDICTIONARY__
2 #define __JROOT__JROOTDICTIONARY__
8 #include "TDictionary.h"
25 namespace JPP {
using namespace JROOT; }
68 #define VALUE_TYPE(__TYPE__) value_type(#__TYPE__, new JObjectStreamer<__TYPE__>())
104 const TDictionary* pDictionary = TDictionary::GetDictionary(
typeid(T));
106 if (pDictionary != NULL)
107 return pDictionary->GetName();
146 template<
class JElement_t,
class JAllocator_t>
160 template<
class JHead_t,
class JTail_t>
182 #define gRootDictionary (JROOT::JRootDictionary::getInstance())
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Type list of primitive data types.
#define VALUE_TYPE(__TYPE__)
#define gRootDictionary
Global ROOT based dictionary for ASCII I/O.
void addToRootDictionary()
Add ASCII I/O for (list of) class(es) to dictionary.
ASCII I/O of objects with ROOT dictionary.
Default implementation of ROOT based dictionary for ASCII I/O.
void add(const JType< T > &type)
Addition of class.
void add()
Add ASCII I/O for given (list of) class(es) to dictionary.
static const char * getTypename()
Get typename for given template class.
void add(const JType< std::vector< JElement_t, JAllocator_t > > &type)
Addition of std::vector.
void add(const JType< JTypeList< JHead_t, JTail_t > > &typelist)
Recursive addition of classes.
void add(const JType< JNullType > &type)
Template specialisation to terminate addition of classes.
JRootDictionary()
Default constructor.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for ROOT I/O.
Auxiliary class for no type definition.
Removal of data type from type list.
Auxiliary class for recursive type list generation.
Auxiliary class for a type holder.
Type definition of ROOT based dictionary for ASCII I/O.