All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
INTuple.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_INTUPLE_H
2 #define GAUDIKERNEL_INTUPLE_H
3 
4 // STL include files
5 #include <string>
6 #include <typeinfo>
7 
8 // Framework include files
9 #include "GaudiKernel/Kernel.h"
10 #include "GaudiKernel/StatusCode.h"
11 
12 // Forward declarations
13 class INTuple;
14 class INTupleItem;
15 class ISelectStatement;
16 
27 protected:
29  virtual void setType (long typ) = 0;
30 public:
32  virtual ~INTupleItem() = default;
33 
35  virtual void release() = 0;
37  virtual const std::type_info& typeID() const = 0;
39  virtual std::string typeName() const = 0;
41  virtual const void* buffer() const = 0;
43  virtual bool hasIndex() const = 0;
45  virtual const std::string& index() const = 0;
47  virtual const std::string& name() const = 0;
49  virtual long type() const = 0;
51  virtual long length() const = 0;
53  virtual void reset() = 0;
55  virtual long ndim() const = 0;
57  virtual long dim(long i) const = 0;
59  virtual long size() const = 0;
61  virtual long filled() const = 0;
63  virtual INTupleItem* indexItem() = 0;
65  virtual const INTupleItem* indexItem() const = 0;
67  virtual INTuple* tuple() = 0;
68 };
69 
80 protected:
82  virtual INTupleItem* i_find(const std::string& name) const = 0;
83 public:
84  // Definition of _Item container
87  virtual ItemContainer& items() = 0;
89  virtual const ItemContainer& items() const = 0;
91  virtual char* setBuffer(char* buff) = 0;
93  virtual const char* buffer() const = 0;
95  virtual char* buffer() = 0;
97  virtual const std::string& title() const = 0;
99  virtual void reset() = 0;
101  virtual const INTupleItem* find(const std::string& name) const = 0;
103  virtual INTupleItem* find(const std::string& name) = 0;
105  virtual StatusCode add(INTupleItem* item) = 0;
107  virtual StatusCode remove(INTupleItem* item) = 0;
109  virtual StatusCode remove(const std::string& name) = 0;
111  virtual StatusCode attachSelector(ISelectStatement* sel) = 0;
113  virtual ISelectStatement* selector() = 0;
115  virtual StatusCode write() = 0;
117  virtual StatusCode writeRecord() = 0;
119  virtual StatusCode read() = 0;
121  virtual StatusCode readRecord() = 0;
123  virtual StatusCode save() = 0;
124  virtual ~INTuple() = default;
125 };
126 #endif
A select statement can either contain.
sel
Definition: IOTest.py:84
std::vector< INTupleItem * > ItemContainer
Definition: INTuple.h:85
def read(f, regex='.*', skipevents=0)
Definition: hivetimeline.py:19
STL class.
NTuple interface class definition.
Definition: INTuple.h:79
NTuple interface class definition.
Definition: INTuple.h:26
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
STL class.
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:21
#define GAUDI_API
Definition: Kernel.h:107