|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #ifndef ATLALLOCATORS_ARENAHANDLEBASEALLOCT_H
20 #define ATLALLOCATORS_ARENAHANDLEBASEALLOCT_H
26 #include "GaudiKernel/System.h"
51 template <
typename ALLOC>
77 const EventContext& ctx,
92 const typename ALLOC::Params&
params()
const;
117 template <
class HANDLE,
class DEFPARAMS>
139 std::unique_ptr<ArenaAllocatorBase>
makeFunc_t (
const typename ALLOC::Params&);
153 const typename ALLOC::Params&
params);
159 virtual std::unique_ptr<ArenaAllocatorBase>
create();
165 const std::string&
name()
const;
184 #endif // not ATLALLOCATORS_ARENAHANDLEBASEALLOCT_H
Creator(const std::string &name, makeFunc_t *makeFunc, const typename ALLOC::Params ¶ms)
Constructor.
ArenaHandleBaseAllocT(ArenaHeader *header, const EventContext &ctx, size_t index)
Constructor, passing in an index, for a specific event slot.
ArenaHandleBaseAllocT(ArenaHeader *header, size_t index)
Constructor, passing in an index.
ALLOC * allocator()
Return our current Allocator.
Base class for all Handle classes, containing parts that do not depend on the referenced type.
const ALLOC * allocator() const
Return our current Allocator.
Base class for all Handle classes, containing parts that do not depend on the referenced type....
Concrete ArenaAllocatorCreator class used to create the Allocator for this handle.
Provide an interface for creating an arena Allocator. See Arena.h for an overview of the arena-based ...
std::unique_ptr< ArenaAllocatorBase > makeFunc_t(const typename ALLOC::Params &)
Type for m_makeFunc — a function returning a new Allocator from a parameters structure.
Provide an interface for creating an arena Allocator.
Part of Arena dealing with the list of allocators.
ALLOC alloc_t
The Allocator we use.
ALLOC::Params m_params
Set of parameters to use to create our allocator.
const std::string & name() const
Return the name of the Allocator we create.
virtual std::unique_ptr< ArenaAllocatorBase > create()
Create an allocator instance.
Base class for Handle classes, containing parts that depend only on the Allocator.
Registry of allocator factories. See Arena.h for an overview of the arena-based memory allocators.
makeFunc_t * m_makeFunc
Function that creates an Allocator given a set of parameters.
const ALLOC::Params & params() const
Return our Allocator's parameters.
ArenaHandleBaseAllocT(ArenaBase *arena, size_t index)
Constructor, passing in an index, for a specific Arena.
static size_t makeIndex(const typename ALLOC::Params *params)
Find the index for creating an allocator.