| # 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
PoolClasses.h
Go to the documentation of this file.
1
2 // The following two classes are the interfaces to facilitate reading POOL formatted ROOT files:
3
4 /*
5 * POOL namespace declaration
6 */
7 namespace pool {
8
14 class Token {
15 public:
17 std::pair<int, int> m_oid;
18 bool operator==(const Token& t) const { return m_oid.first==t.m_oid.first && m_oid.second==t.m_oid.second;}
19 };
20 }
21
27 struct UCharDbArray {
28 public:
30 int m_size;
32 unsigned char *m_buffer;//[m_size]
34 UCharDbArray() : m_size(0), m_buffer(0) {}
36 virtual ~UCharDbArray() {
37 if ( m_buffer ) delete [] m_buffer;
38 m_buffer = 0;
39 }
40 };
41
49 struct PoolDbTokenWrap {
51 pool::Token token;
53 PoolDbTokenWrap() {}
55 PoolDbTokenWrap(const PoolDbTokenWrap& wrp) { token = wrp.token; }
57 virtual ~PoolDbTokenWrap() {}
59 bool operator==(const PoolDbTokenWrap& c) const { return token == c.token; }
61 PoolDbTokenWrap& operator=(const PoolDbTokenWrap& wrp) {
62 if ( this != &wrp ) {
63 token = wrp.token;
64 }
65 return *this;
66 }
67 };
68
77 class GAUDI_API PoolDbLinkManager {
78 protected:
80 std::vector<pool::Token*> m_refs;
82 std::vector<std::string> m_links;
83
84 public:
86 PoolDbLinkManager() {}
88 virtual ~PoolDbLinkManager() {
89 for(std::vector<pool::Token*>::iterator i=m_refs.begin(); i!=m_refs.end();++i)
90 delete (*i);
91 }
93 std::vector<pool::Token*>& references() { return m_refs; }
95 std::vector<std::string>& links() { return m_links; }
96 };