ATLAS Offline Software
Static Protected Member Functions | Friends | List of all members
ObjContainerBase Class Reference

Object container base class. More...

#include <ObjContainer.h>

Collaboration diagram for ObjContainerBase:

Static Protected Member Functions

static void throwNoContainer ()
 
static void throwMaximumCapacitiyExceeded (size_t max_objs)
 
static void throwMaximumNumberOfSharesExceeded (size_t max_shares)
 
static void throwInvalidObject (size_t idx, size_t n_objs)
 
static void throwObjectAlreadyDeleted (size_t idx)
 
static void throwObjectExistsAlready (const void *ptr)
 
static void throwObjectStillAlive (const void *ptr, size_t cnt)
 
static void warnShareDropAfterRelease (size_t idx)
 

Friends

template<class T_Obj_ >
class ObjPtr
 

Detailed Description

Object container base class.

contains method which do not depend on the template parameters.

Definition at line 113 of file ObjContainer.h.

Member Function Documentation

◆ throwInvalidObject()

static void ObjContainerBase::throwInvalidObject ( size_t  idx,
size_t  n_objs 
)
inlinestaticprotected

Definition at line 134 of file ObjContainer.h.

134  {
135  std::stringstream msg;
136  msg << "Invalid object reference. Index " << idx << " not in allowed range [0.." << n_objs << "). Bail out.";
137  throw std::logic_error(msg.str());
138  }

◆ throwMaximumCapacitiyExceeded()

static void ObjContainerBase::throwMaximumCapacitiyExceeded ( size_t  max_objs)
inlinestaticprotected

Definition at line 122 of file ObjContainer.h.

122  {
123  std::stringstream msg;
124  msg << "Maximum object container capacity exceeded (" << max_objs << "). Bail out.";
125  throw std::runtime_error(msg.str());
126  }

◆ throwMaximumNumberOfSharesExceeded()

static void ObjContainerBase::throwMaximumNumberOfSharesExceeded ( size_t  max_shares)
inlinestaticprotected

Definition at line 128 of file ObjContainer.h.

128  {
129  std::stringstream msg;
130  msg << "Maximum number of shares exceeded (" << max_shares << "). Bail out.";
131  throw std::runtime_error(msg.str());
132  }

◆ throwNoContainer()

static void ObjContainerBase::throwNoContainer ( )
inlinestaticprotected

Definition at line 118 of file ObjContainer.h.

118  {
119  throw std::logic_error("No object container.");
120  }

◆ throwObjectAlreadyDeleted()

static void ObjContainerBase::throwObjectAlreadyDeleted ( size_t  idx)
inlinestaticprotected

Definition at line 140 of file ObjContainer.h.

140  {
141  std::stringstream msg;
142  msg << "Object " << idx << " already deleted. Bail out.";
143  throw std::logic_error(msg.str());
144  }

◆ throwObjectExistsAlready()

static void ObjContainerBase::throwObjectExistsAlready ( const void *  ptr)
inlinestaticprotected

Definition at line 146 of file ObjContainer.h.

146  {
147  std::stringstream msg;
148  msg << "Object " << ptr << " already registered. Bail out.";
149  throw std::logic_error(msg.str());
150  }

◆ throwObjectStillAlive()

static void ObjContainerBase::throwObjectStillAlive ( const void *  ptr,
size_t  cnt 
)
inlinestaticprotected

Definition at line 152 of file ObjContainer.h.

152  {
153  std::stringstream msg;
154  msg << "Managed object " << ptr << " still has " << cnt << " references, but the container is now being destructed.";
155  throw std::logic_error(msg.str());
156  }

◆ warnShareDropAfterRelease()

static void ObjContainerBase::warnShareDropAfterRelease ( size_t  idx)
inlinestaticprotected

Definition at line 158 of file ObjContainer.h.

158  {
159  (void) idx;
160  }

Friends And Related Function Documentation

◆ ObjPtr

template<class T_Obj_ >
friend class ObjPtr
friend

Definition at line 115 of file ObjContainer.h.


The documentation for this class was generated from the following file:
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
trigbs_pickEvents.cnt
cnt
Definition: trigbs_pickEvents.py:71
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7