ATLAS Offline Software
Loading...
Searching...
No Matches
Arena.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5// $Id: Arena.cxx 470529 2011-11-24 23:54:22Z ssnyder $
13
14#include "AthAllocators/Arena.h"
16
17namespace SG {
18
19
26Arena::Arena (const std::string& name, ArenaHeader* header /*= 0*/)
27 : ArenaBase (name),
29{
30 if (!m_header) {
32 }
33 m_header->addArena (this);
34}
35
36
41{
42 m_header->delArena (this);
43}
44
45
50{
51 return m_header;
52}
53
54
60{
61 return m_header->setArena (this);
62}
63
64
74
75
80{
81 m_header->setArena (m_prev);
82}
83
84
85} // namespace SG
Common base class for arena allocator classes. See Arena.h for an overview of the arena-based memory ...
Collection of memory allocators with a common lifetime, plus subsystem summary.
static Double_t a
ArenaBase(const std::string &name="")
Constructor.
Definition ArenaBase.cxx:27
const std::string & name() const
Return this Arena's name.
Proxy for a group of Arenas.
Definition ArenaHeader.h:54
static ArenaHeader * defaultHeader()
Return the global default Header instance.
ArenaBase * m_prev
The previously-current arena.
Definition Arena.h:294
~Push()
Destructor.
Definition Arena.cxx:79
ArenaHeader * m_header
The ArenaHeader for the stack we're managing.
Definition Arena.h:291
Push(Arena &a)
Constructor.
Definition Arena.cxx:69
~Arena()
Destructor.
Definition Arena.cxx:40
ArenaHeader * header()
Return the ArenaHeader with which this Arena is associated.
Definition Arena.cxx:49
ArenaBase * makeCurrent()
Make this Arena the current one for its ArenaHeader.
Definition Arena.cxx:59
Arena(const std::string &name, ArenaHeader *header=0)
Constructor.
Definition Arena.cxx:26
ArenaHeader * m_header
The ArenaHeader with which we're associated.
Definition Arena.h:300
Forward declaration.