ATLAS Offline Software
DbHeap.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //====================================================================
6 // DbHeap class definitions
7 //--------------------------------------------------------------------
8 //
9 // Package : StorageSvc (The POOL project)
10 // @author M.Frank
11 //====================================================================
12 #ifndef POOL_STORAGESVC_DBHEAP_H
13 #define POOL_STORAGESVC_DBHEAP_H
14 
15 // Framework include files
17 #include "StorageSvc/pool.h"
18 
19 /*
20  * POOL namespace declaration
21  */
22 namespace pool {
23 
24  // Forward declarations
25  class DbContainer;
26  template <class T> class DbObjectHandle;
27 
28  class DbHeap {
29  public:
31  DbHeap();
33  virtual ~DbHeap();
35  static size_t guardSize();
37  static Token::OID_t& oid(DbObject* pObj);
38  static const Token::OID_t& oid(const DbObject* pObj);
40  static DbContainer& container(DbObject* pObj);
41  static const DbContainer& container(const DbObject* pObj);
43  static DbStatus free(void* ptr, DbContainer* cntH);
45  static DbObject* allocate(size_t siz,
46  DbContainer* cntH,
47  const Token::OID_t* linkH,
49  };
50 } // End namespace pool
51 #endif // POOL_STORAGESVC_DBHEAP_H
pool::DbObject
void DbObject
Definition: Database/APR/StorageSvc/StorageSvc/pool.h:33
pool::DbHeap::free
static DbStatus free(void *ptr, DbContainer *cntH)
Free an object, which was initially allocated from the heap.
pool::DbStatus
Definition: DbStatus.h:67
pool::DbHeap::guardSize
static size_t guardSize()
Access the object guard size.
pool::DbHeap::container
static const DbContainer & container(const DbObject *pObj)
pool::DbHeap::~DbHeap
virtual ~DbHeap()
Standard Destructor.
pool::DbHeap
Definition: DbHeap.h:28
pool::DbHeap::DbHeap
DbHeap()
Standard Constructor.
pool
pool namespace
Definition: libname.h:15
pool::DbObjectHandle
Definition: DbContainer.h:37
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
pool::DbHeap::allocate
static DbObject * allocate(size_t siz, DbContainer *cntH, const Token::OID_t *linkH, DbObjectHandle< DbObject > *objH)
Free an object on the heap.
Token::OID_t
Definition: Token.h:24
pool::DbHeap::oid
static const Token::OID_t & oid(const DbObject *pObj)
pool.h
pool::DbHeap::oid
static Token::OID_t & oid(DbObject *pObj)
Access the offset of an object.
pool::DbHeap::container
static DbContainer & container(DbObject *pObj)
Access the container of an object.
pool::DbContainer
Definition: DbContainer.h:51
Token.h
This file contains the class definition for the Token class (migrated from POOL).