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