ATLAS Offline Software
DbHeap.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // $Id: DbHeap.h 726071 2016-02-25 09:23:05Z krasznaa $
6 //====================================================================
7 // DbHeap class definitions
8 //--------------------------------------------------------------------
9 //
10 // Package : StorageSvc (The POOL project)
11 // @author M.Frank
12 //====================================================================
13 #ifndef POOL_STORAGESVC_DBHEAP_H
14 #define POOL_STORAGESVC_DBHEAP_H
15 
16 // Framework include files
18 #include "StorageSvc/pool.h"
20 
21 /*
22  * POOL namespace declaration
23  */
24 namespace pool {
25 
26  // Forward declarations
27  class DbContainer;
28  template <class T> class DbObjectHandle;
29 
38  class DbHeap {
39  public:
41  DbHeap();
43  virtual ~DbHeap();
45  static size_t guardSize();
47  static Token::OID_t& oid(DbObject* pObj);
48  static const Token::OID_t& oid(const DbObject* pObj);
50  static DbContainer& container(DbObject* pObj);
51  static const DbContainer& container(const DbObject* pObj);
53  static DbStatus free(void* ptr, DbContainer* cntH);
55  static DbObject* allocate(size_t siz,
56  DbContainer* cntH,
57  const Token::OID_t* linkH,
59  };
60 } // End namespace pool
61 #endif // POOL_STORAGESVC_DBHEAP_H
pool::DbObject
void DbObject
Definition: Database/APR/StorageSvc/StorageSvc/pool.h:35
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
Db objects: class DbHeap.
Definition: DbHeap.h:38
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
DbHandleBase.h
Token.h
This file contains the class definition for the Token class (migrated from POOL).