All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
INTuple.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/INTuple.h,v 1.7 2008/10/27 19:22:20 marcocle Exp $
2 #ifndef GAUDIKERNEL_INTUPLE_H
3 #define GAUDIKERNEL_INTUPLE_H
4 
5 // STL include files
6 #include <string>
7 #include <typeinfo>
8 
9 // Framework include files
10 #include "GaudiKernel/Kernel.h"
11 #include "GaudiKernel/StatusCode.h"
12 
13 // Forward declarations
14 class INTuple;
15 class INTupleItem;
16 class ISelectStatement;
17 
28 protected:
30  virtual void setType (long typ) = 0;
31 public:
33  virtual ~INTupleItem() { }
34 
36  virtual void release() = 0;
38  virtual const std::type_info& typeID() const = 0;
40  virtual std::string typeName() const = 0;
42  virtual const void* buffer() const = 0;
44  virtual bool hasIndex() const = 0;
46  virtual const std::string& index() const = 0;
48  virtual const std::string& name() const = 0;
50  virtual long type() const = 0;
52  virtual long length() const = 0;
54  virtual void reset() = 0;
56  virtual long ndim() const = 0;
58  virtual long dim(long i) const = 0;
60  virtual long size() const = 0;
62  virtual long filled() const = 0;
64  virtual INTupleItem* indexItem() = 0;
66  virtual const INTupleItem* indexItem() const = 0;
68  virtual INTuple* tuple() = 0;
69 };
70 
81 protected:
83  virtual INTupleItem* i_find(const std::string& name) const = 0;
84 public:
85  // Definition of _Item container
86  typedef std::vector< INTupleItem* > ItemContainer;
88  virtual ItemContainer& items() = 0;
90  virtual const ItemContainer& items() const = 0;
92  virtual void setBuffer(char* buff) = 0;
94  virtual const char* buffer() const = 0;
96  virtual char* buffer() = 0;
98  virtual const std::string& title() const = 0;
100  virtual void reset() = 0;
102  virtual const INTupleItem* find(const std::string& name) const = 0;
104  virtual INTupleItem* find(const std::string& name) = 0;
106  virtual StatusCode add(INTupleItem* item) = 0;
108  virtual StatusCode remove(INTupleItem* item) = 0;
110  virtual StatusCode remove(const std::string& name) = 0;
112  virtual StatusCode attachSelector(ISelectStatement* sel) = 0;
114  virtual ISelectStatement* selector() = 0;
116  virtual StatusCode write() = 0;
118  virtual StatusCode writeRecord() = 0;
120  virtual StatusCode read() = 0;
122  virtual StatusCode readRecord() = 0;
124  virtual StatusCode save() = 0;
125  virtual ~INTuple() {}
126 };
127 #endif
virtual ~INTupleItem()
destructor
Definition: INTuple.h:33
A select statement can either contain.
std::vector< INTupleItem * > ItemContainer
Definition: INTuple.h:86
NTuple interface class definition.
Definition: INTuple.h:80
NTuple interface class definition.
Definition: INTuple.h:27
string type
Definition: gaudirun.py:126
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
tuple item
print s1,s2
Definition: ana.py:146
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:22
virtual ~INTuple()
Definition: INTuple.h:125
#define GAUDI_API
Definition: Kernel.h:108
list i
Definition: ana.py:128