ATLAS Offline Software
|
Helper to delete payload objects for ConcurrentRangeMap. More...
#include <ConcurrentRangeMap.h>
Public Types | |
typedef void | delete_function(const T *) |
Type of a function to delete a payload object immediately. More... | |
Public Member Functions | |
IRangeMapPayloadDeleter (delete_function *delfcn) | |
Constructor. More... | |
virtual | ~IRangeMapPayloadDeleter ()=default |
Virtual destructor. More... | |
virtual void | discard (const T *p)=0 |
Queue an object for deletion. More... | |
virtual void | quiescent (const CONTEXT &ctx)=0 |
Mark a slot as quiescent. More... | |
delete_function * | delfcn () const |
Return a function to delete a payload object immediately. More... | |
Private Attributes | |
delete_function * | m_delfcn |
Immediate deletion function. More... | |
Helper to delete payload objects for ConcurrentRangeMap.
This class provides an interface that ConcurrentRangeMap
can use to delete payload objects. The discard
function queues a payload object for deletion. It should not actually be deleted until quiescent
has been called for each active slot. delfcn
returns a pointer to a function that will delete the payload object immediately. This is only used in the ConcurrentRangeMap
destructor.
Definition at line 44 of file ConcurrentRangeMap.h.
typedef void CxxUtils::IRangeMapPayloadDeleter< T, CONTEXT >::delete_function(const T *) |
Type of a function to delete a payload object immediately.
Definition at line 48 of file ConcurrentRangeMap.h.
CxxUtils::IRangeMapPayloadDeleter< T, CONTEXT >::IRangeMapPayloadDeleter | ( | delete_function * | delfcn | ) |
Constructor.
delfcn | Function to delete a payload object immediately. |
|
virtualdefault |
Virtual destructor.
delete_function* CxxUtils::IRangeMapPayloadDeleter< T, CONTEXT >::delfcn | ( | ) | const |
Return a function to delete a payload object immediately.
|
pure virtual |
Queue an object for deletion.
p | The object to delete. |
The object should not actually be deleted until quiescent
has been called for each active slot.
Implemented in Athena::CondObjDeleter< T >.
|
pure virtual |
Mark a slot as quiescent.
ctx | Event context identifying the slot. |
Implemented in Athena::CondObjDeleter< T >.
|
private |
Immediate deletion function.
Definition at line 87 of file ConcurrentRangeMap.h.