ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Public Methods | List of all members
RecyclerShared< TSidiNode > Struct Template Reference
Inheritance diagram for RecyclerShared< TSidiNode >:
[legend]
Collaboration diagram for RecyclerShared< TSidiNode >:
[legend]

Class Description

template<typename TSidiNode>
struct aworx::lib::monomem::detail::RecyclerShared< TSidiNode >


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).

Template Parameters
TSidiNodeThe type to recycle. Has to be derived of detail::SidiNodeBase.

Definition at line 217 of file recycler.inl.

Public Methods

 RecyclerShared (const RecyclerShared &copy)
 
 RecyclerShared (lib::detail::SidiListHelper< TSidiNode > &sharedRecyclables)
 
 RecyclerShared (RecyclerShared &&move)
 
void disposeRecyclablesIfPrivate ()
 
- Public Methods inherited from RecyclerPSBase< TSidiNode, lib::detail::SidiListHelper< TSidiNode > & >
 RecyclerPSBase ()=default
 
 RecyclerPSBase (lib::detail::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)
 

Additional Inherited Members

- Protected Fields inherited from RecyclerPSBase< TSidiNode, lib::detail::SidiListHelper< TSidiNode > & >
lib::detail::SidiListHelper< TSidiNode > & recyclables
 

Constructor & Destructor Documentation

◆ RecyclerShared() [1/3]

RecyclerShared ( lib::detail::SidiListHelper< TSidiNode > &  sharedRecyclables)
inline

Constructor, selected when TRecycling equals to Recycling::Shared.

Parameters
sharedRecyclablesThe external list of recyclables.

Definition at line 222 of file recycler.inl.

◆ RecyclerShared() [2/3]

RecyclerShared ( const RecyclerShared< TSidiNode > &  copy)
inline

Copy constructor. Copies the reference to the shared recycler.

Parameters
copyThe private recycler to copy.

Definition at line 228 of file recycler.inl.

◆ RecyclerShared() [3/3]

RecyclerShared ( RecyclerShared< TSidiNode > &&  move)
inline

Move constructor. Just copies the reference but leaves original intact. (We don't care)

Parameters
moveThe private recycler to move.

Definition at line 234 of file recycler.inl.

Member Function Documentation

◆ disposeRecyclablesIfPrivate()

void disposeRecyclablesIfPrivate ( )
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.


The documentation for this struct was generated from the following file: