ATLAS Offline Software
Loading...
Searching...
No Matches
Arena.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: Arena.h 470529 2011-11-24 23:54:22Z ssnyder $
8
213
214
215#ifndef ATLALLOCATORS_ARENA_H
216#define ATLALLOCATORS_ARENA_H
217
218
223#include <cstdlib>
224#include <string>
225#include <ostream>
226
227
228namespace SG {
229
230
236class Arena
237 : public SG::ArenaBase
238{
239public:
246 Arena (const std::string& name, ArenaHeader* header = 0);
247
248
252 ~Arena();
253
254
259
260
266
267
272 class Push
273 {
274 public:
275
280 Push (Arena& a);
281
282
286 ~Push();
287
288
289 private:
292
295 };
296
297
298private:
301};
302
303
304} // namespace SG
305
306
307#endif // not ATLALLOCATORS_ARENA_H
Common base class for arena allocator classes. See Arena.h for an overview of the arena-based memory ...
Provide an interface for creating an arena Allocator. See Arena.h for an overview of the arena-based ...
Part of Arena dealing with the list of allocators. Broken out from Arena to avoid a dependency loop w...
Proxy for a group of Arenas. See Arena.h for an overview of the arena-based memory allocators.
static Double_t a
Part of Arena dealing with the list of allocators.
Definition ArenaBase.h:42
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
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.