![]() |
ATLAS Offline Software
|
Service to access an arena caching allocator. More...
#include <SegMemSvc.h>
Public Types | |
enum | LIFETIME { EVENT = 0, JOB = 1, INCIDENT = 2 } |
Public Member Functions | |
virtual StatusCode | initialize () override |
virtual void | handle (const Incident &) override |
Client Interface: allocate and free memory | |
ServiceHandle< IIncidentSvc > | p_incSvc |
SG::ArenaHeader | m_ahead_job |
three arenas for different lifetimes More... | |
SG::ArenaHeader | m_ahead_evt |
SG::ArenaHeader | m_ahead_inc |
SG::Arena | m_arena_job |
SG::Arena | m_arena_evt |
SG::Arena | m_arena_inc |
template<typename T > | |
T * | allocate (SegMemSvc::LIFETIME, bool cache=true) |
Get pointer to an area in the arena, used for new with placement. More... | |
template<typename T > | |
bool | del (T *) |
free memory managed by arena More... | |
SegMemSvc (const std::string &name, ISvcLocator *svc) | |
virtual | ~SegMemSvc () |
std::string | cvt (SegMemSvc::LIFETIME life) |
helper to for printout More... | |
Service to access an arena caching allocator.
No | user settable jobOptions |
Definition at line 28 of file SegMemSvc.h.
enum SegMemSvc::LIFETIME |
Enumerator | |
---|---|
EVENT | |
JOB | |
INCIDENT |
Definition at line 33 of file SegMemSvc.h.
SegMemSvc::SegMemSvc | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Definition at line 18 of file SegMemSvc.cxx.
|
virtual |
Definition at line 30 of file SegMemSvc.cxx.
T* SegMemSvc::allocate | ( | SegMemSvc::LIFETIME | , |
bool | cache = true |
||
) |
Get pointer to an area in the arena, used for new with placement.
LIFETIME | object lifetime in the arena: EVENT, JOB or INCIDENT |
|
inlineprivate |
bool SegMemSvc::del | ( | T * | ) |
free memory managed by arena
|
overridevirtual |
Definition at line 58 of file SegMemSvc.cxx.
|
overridevirtual |
Definition at line 39 of file SegMemSvc.cxx.
|
private |
Definition at line 81 of file SegMemSvc.h.
|
private |
Definition at line 81 of file SegMemSvc.h.
|
private |
three arenas for different lifetimes
Definition at line 81 of file SegMemSvc.h.
|
private |
Definition at line 82 of file SegMemSvc.h.
|
private |
Definition at line 82 of file SegMemSvc.h.
|
private |
Definition at line 82 of file SegMemSvc.h.
|
private |
Definition at line 68 of file SegMemSvc.h.