|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #ifndef ATLALLOCATORS_ARENABASE_H
20 #define ATLALLOCATORS_ARENABASE_H
86 void report (std::ostream&
os)
const;
98 const std::string&
name()
const;
102 typedef std::lock_guard<std::mutex>
lock_t;
140 #endif // not ATLALLOCATORS_ARENABASE_H
virtual ~ArenaBase()
Destructor.
std::vector< AllocEntry > m_allocs
ArenaAllocatorBase * makeAllocator(size_t i)
Make a new Allocator for index i.
ArenaBase(const std::string &name="")
Constructor.
void report(std::ostream &os) const
Generate a report of the memory in use by this Arena.
A pointer type that holds a lock on an allocator object.
Statistics for an allocator.
std::string m_name
Our name.
void reset()
Reset all contained allocators.
Common base class for arena allocator classes. See Arena.h for an overview of the arena-based memory ...
Common base class for arena allocator classes.
A pointer type that holds a lock on an allocator object.
Part of Arena dealing with the list of allocators.
void erase()
Erase all contained allocators.
ArenaBase(const ArenaBase &)=delete
LockedAllocator allocator(size_t i)
Translate an integer index to an Allocator pointer.
std::unique_ptr< ArenaAllocatorBase > m_alloc
ArenaBase & operator=(const ArenaBase &)=delete
std::lock_guard< std::mutex > lock_t
std::unique_ptr< std::mutex > m_mutex
ArenaAllocatorBase::Stats stats() const
Return statistics summed over all allocators in this Arena.
std::mutex m_mutex
To guard access to m_allocs.
const std::string & name() const
Return this Arena's name.