Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
InstancePool< T > Class Template Reference

A pool of resuable instances. More...

#include <InstancePool.h>

Public Member Functions

void addFreeInstance (T *instance)
 Adds a free, reusable instance.
void addFreeInstances (const std::vector< T * > instances)
 Adds some free, reusable instances.
T * getFreeInstance ()
 Returns a free instance or 0 if no such exists.
 InstancePool (bool deleteOnQuit)
 Constructor.
 ~InstancePool ()
 Destructor.

Private Attributes

bool myDeleteOnQuit
 Information whether the stored instances shall be deleted.
std::vector< T * > myFreeInstances
 List of reusable instances.

Detailed Description

template<typename T>
class InstancePool< T >

A pool of resuable instances.

Definition at line 34 of file InstancePool.h.

Constructor & Destructor Documentation

◆ InstancePool()

template<typename T>
InstancePool< T >::InstancePool ( bool deleteOnQuit)
inline

Constructor.

Parameters
[in]deleteOnQuitInformation whether stored instances shall be deleted when this container is deleted

Definition at line 40 of file InstancePool.h.

References myDeleteOnQuit.

◆ ~InstancePool()

template<typename T>
InstancePool< T >::~InstancePool ( )
inline

Destructor.

Definition at line 44 of file InstancePool.h.

References myDeleteOnQuit, and myFreeInstances.

Member Function Documentation

◆ addFreeInstance()

template<typename T>
void InstancePool< T >::addFreeInstance ( T * instance)
inline

Adds a free, reusable instance.

Parameters
[in]instanceAn instance to add

Definition at line 76 of file InstancePool.h.

References myFreeInstances.

◆ addFreeInstances()

template<typename T>
void InstancePool< T >::addFreeInstances ( const std::vector< T * > instances)
inline

Adds some free, reusable instances.

Parameters
[in]instancesA vector of instances to add

Definition at line 85 of file InstancePool.h.

References myFreeInstances.

◆ getFreeInstance()

template<typename T>
T * InstancePool< T >::getFreeInstance ( )
inline

Returns a free instance or 0 if no such exists.

If any free instance is stored, it is returned and removed from the storage. If no one is stored, 0 is returned.

Returns
A free instance or 0 if no such exists

Definition at line 61 of file InstancePool.h.

References myFreeInstances.

Field Documentation

◆ myDeleteOnQuit

template<typename T>
bool InstancePool< T >::myDeleteOnQuit
private

Information whether the stored instances shall be deleted.

Definition at line 96 of file InstancePool.h.

Referenced by InstancePool(), and ~InstancePool().

◆ myFreeInstances

template<typename T>
std::vector<T*> InstancePool< T >::myFreeInstances
private

List of reusable instances.

Definition at line 93 of file InstancePool.h.

Referenced by addFreeInstance(), addFreeInstances(), getFreeInstance(), and ~InstancePool().


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