SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 46 of file InstancePool.h.

Constructor & Destructor Documentation

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 52 of file InstancePool.h.

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

Destructor.

Definition at line 56 of file InstancePool.h.

Member Function Documentation

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

Adds a free, reusable instance.

Parameters
[in]instanceAn instance to add

Definition at line 88 of file InstancePool.h.

Referenced by TraCIDijkstraRouter< E >::clearTemporaryStorages().

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 97 of file InstancePool.h.

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 73 of file InstancePool.h.

Referenced by TraCIDijkstraRouter< E >::compute().

Field Documentation

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

Information whether the stored instances shall be deleted.

Definition at line 108 of file InstancePool.h.

Referenced by InstancePool< std::vector< bool > >::~InstancePool().


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