TuringSim
C++ framework to simulate abstract computing models
Public Types | Public Member Functions | List of all members
TuringSim::Utils::UidDispenser< UID > Class Template Reference

A dispenser of unique identifier. More...

#include <utils/uidDispenser.h>

Public Types

typedef UID UIDType
 Type of dispensed identifiers.
 

Public Member Functions

 UidDispenser ()
 Make a new dispenser.
 
 UidDispenser (const UidDispenser &other)
 Copy a dispenser. More...
 
 UidDispenser (UidDispenser &&other)
 Move a dispenser. More...
 
UidDispenseroperator= (const UidDispenser &other)
 Copy a dispenser. More...
 
UidDispenseroperator= (UidDispenser &&other)
 Move a dispenser. More...
 
UID operator() ()
 Generate a new identifier. More...
 

Detailed Description

template<typename UID>
class TuringSim::Utils::UidDispenser< UID >

A dispenser of unique identifier.

Template Parameters
UIDthe type of identifier. Must be incrementable.

Definition at line 11 of file uidDispenser.h.

Constructor & Destructor Documentation

◆ UidDispenser() [1/2]

template<typename UID >
TuringSim::Utils::UidDispenser< UID >::UidDispenser ( const UidDispenser< UID > &  other)
inline

Copy a dispenser.

Parameters
[in]otherthe dispenser to copy.

Definition at line 26 of file uidDispenser.h.

◆ UidDispenser() [2/2]

template<typename UID >
TuringSim::Utils::UidDispenser< UID >::UidDispenser ( UidDispenser< UID > &&  other)
inline

Move a dispenser.

Parameters
[in,out]otherthe dispenser to move.

Definition at line 31 of file uidDispenser.h.

Member Function Documentation

◆ operator()()

template<typename UID >
UID TuringSim::Utils::UidDispenser< UID >::operator() ( )
inline

Generate a new identifier.

Returns
the new uid.

Definition at line 57 of file uidDispenser.h.

◆ operator=() [1/2]

template<typename UID >
UidDispenser& TuringSim::Utils::UidDispenser< UID >::operator= ( const UidDispenser< UID > &  other)
inline

Copy a dispenser.

Parameters
[in]otherthe dispenser to copy.
Returns
A reference to *this.

Definition at line 37 of file uidDispenser.h.

◆ operator=() [2/2]

template<typename UID >
UidDispenser& TuringSim::Utils::UidDispenser< UID >::operator= ( UidDispenser< UID > &&  other)
inline

Move a dispenser.

Parameters
[in,out]otherthe dispenser to move.
Returns
A reference to *this.

Definition at line 47 of file uidDispenser.h.


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