| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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
27 class GAUDI_API INTupleItem {
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
80 class GAUDI_API INTuple {
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