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