Implements internal recycling interface. Used by container types of module ALib Memory that use shared recycling (when their template parameter TRecycling evaluates to Recycling::Shared ).
TSidiNode | The type to recycle. Has to be derived of lang::SidiNodeBase . |
Definition at line 217 of file recycler.inl.
Public Method Index: | |
RecyclerShared (const RecyclerShared ©) | |
RecyclerShared (lang::SidiListHelper< TSidiNode > &sharedRecyclables) | |
RecyclerShared (RecyclerShared &&move) | |
void | disposeRecyclablesIfPrivate () |
Public Method Index: inherited from RecyclerPSBase< TSidiNode, lang::SidiListHelper< TSidiNode > & > | |
RecyclerPSBase ()=default | |
RecyclerPSBase (lang::SidiListHelper< TSidiNode > &sharedRecyclables) | |
integer | count () const |
TSidiNode * | get () |
void | recycle (TSidiNode *elem) |
void | recycle (TSidiNode *first, TSidiNode *last) |
void | recycleChunk (TChunk *chunk, size_t count) |
|
inline |
Constructor, selected when TRecycling equals to Recycling::Shared .
sharedRecyclables | The external list of recyclables. |
Definition at line 222 of file recycler.inl.
|
inline |
Copy constructor. Copies the reference to the shared recycler.
copy | The private recycler to copy. |
Definition at line 228 of file recycler.inl.
|
inline |
Move constructor. Just copies the reference but leaves original intact. (We don't care)
move | The private recycler to move. |
Definition at line 234 of file recycler.inl.
|
inline |
As the method name indicates, this implementation is empty. This method is invoked by Reset() methods of containers which indicate that the monotonic memory is about to be reset likewise.
Definition at line 241 of file recycler.inl.