Jpp  19.1.0-rc.1
the software that should make you happy
JAbstractStreamer.hh
Go to the documentation of this file.
1 #ifndef __JROOT__JABSTRACTSTREAMER__
2 #define __JROOT__JABSTRACTSTREAMER__
3 
4 #include <string>
5 
6 
7 /**
8  * \file
9  *
10  * This file contains the basic interface for ASCII I/O of ROOT objects.
11  * \author mdejong
12  */
13 namespace JROOT {}
14 namespace JPP { using namespace JROOT; }
15 
16 namespace JROOT {
17 
18  class JRootReader; //!< Forward declaration of reader object.
19  class JRootWriter; //!< Forward declaration of writer object.
20 
21 
22  /**
23  * Interface for ASCII I/O of a template class.
24  */
26  public:
27  /**
28  * Virtual destructor.
29  */
31  {}
32 
33 
34  /**
35  * Read object.
36  *
37  * \param in reader
38  * \param address pointer to object
39  * \return reader
40  */
41  virtual JRootReader& getObject(JRootReader& in, void* address) const = 0;
42 
43 
44  /**
45  * Writer object.
46  *
47  * \param out writer
48  * \param address pointer to object
49  * \return writer
50  */
51  virtual JRootWriter& putObject(JRootWriter& out, const void* address) const = 0;
52 
53 
54  /**
55  * Write object according equation format.
56  *
57  * \param out writer
58  * \param prefix prefix
59  * \param address pointer to object
60  * \return writer
61  */
62  virtual JRootWriter& put(JRootWriter& out, const std::string& prefix, const void* address) const = 0;
63  };
64 }
65 
66 #endif
Forward declaration of writer object.
virtual JRootWriter & putObject(JRootWriter &out, const void *address) const =0
Writer object.
virtual ~JAbstractStreamer()
Virtual destructor.
virtual JRootReader & getObject(JRootReader &in, void *address) const =0
Read object.
virtual JRootWriter & put(JRootWriter &out, const std::string &prefix, const void *address) const =0
Write object according equation format.
Implementation for ASCII input of objects with ROOT dictionary.
Implementation for ASCII output of objects with ROOT dictionary.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for ROOT I/O.