DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Diades::Utils::LabelGenerator< CharT, Traits, Alloc > Class Template Reference

#include <Label.hh>

Public Types

using Label = Diades::Utils::UnquotedLabel< CharT, Traits, Alloc >
 
using Gen = IdGenerator< Label >
 

Public Member Functions

 LabelGenerator ()=default
 
 LabelGenerator (LabelGenerator const &other)=default
 
LabelGeneratoroperator= (LabelGenerator const &other)=default
 
 LabelGenerator (LabelGenerator &&other)=default
 
LabelGeneratoroperator= (LabelGenerator &&other)=default
 
virtual ~LabelGenerator ()=default
 
 LabelGenerator (const Label &prefix)
 
void init ()
 
Label another ()
 

Private Member Functions

Label getLabel ()
 

Private Attributes

const std::array< CharT, 26 > _characters = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}
 
Diades::Utils::RangesEnumeration< size_t > _enumerator
 
Label _prefix
 

Detailed Description

template<typename CharT, typename Traits, typename Alloc>
class Diades::Utils::LabelGenerator< CharT, Traits, Alloc >

This class successively generates UnquotedLabel as follows:

prefixa, prefixb,...., prefixz, prefixaa, ... prefixzz, prefixaaa, ...

Definition at line 161 of file Label.hh.

Member Typedef Documentation

◆ Gen

template<typename CharT , typename Traits , typename Alloc >
using Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::Gen = IdGenerator<Label>

Definition at line 350 of file Label.hh.

◆ Label

template<typename CharT , typename Traits , typename Alloc >
using Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::Label = Diades::Utils::UnquotedLabel<CharT, Traits, Alloc>

Definition at line 349 of file Label.hh.

Constructor & Destructor Documentation

◆ LabelGenerator() [1/4]

template<typename CharT , typename Traits , typename Alloc >
Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::LabelGenerator ( )
default

Default constructor

◆ LabelGenerator() [2/4]

template<typename CharT , typename Traits , typename Alloc >
Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::LabelGenerator ( LabelGenerator< CharT, Traits, Alloc > const &  other)
default

Copy constructor (default)

Parameters
other

◆ LabelGenerator() [3/4]

template<typename CharT , typename Traits , typename Alloc >
Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::LabelGenerator ( LabelGenerator< CharT, Traits, Alloc > &&  other)
default

Move constructor (default)

Parameters
other

◆ ~LabelGenerator()

template<typename CharT , typename Traits , typename Alloc >
virtual Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::~LabelGenerator ( )
virtualdefault

Destructor

◆ LabelGenerator() [4/4]

template<typename CharT , typename Traits , typename Alloc >
Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::LabelGenerator ( const Label prefix)
inline

Parametrized contructor

Parameters
prefixThe prefix of any generated identifier By calling init() it will generate "prefixa"

Definition at line 401 of file Label.hh.

Member Function Documentation

◆ another()

template<typename CharT , typename Traits , typename Alloc >
Label Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::another ( )
inlinevirtual

◆ getLabel()

template<typename CharT , typename Traits , typename Alloc >
Label Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::getLabel ( )
inlineprivate

◆ init()

template<typename CharT , typename Traits , typename Alloc >
void Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::init ( )
inlinevirtual

◆ operator=() [1/2]

template<typename CharT , typename Traits , typename Alloc >
LabelGenerator& Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::operator= ( LabelGenerator< CharT, Traits, Alloc > const &  other)
default

Assignement (default)

Parameters
other
Returns
the current LabelGenerator

◆ operator=() [2/2]

template<typename CharT , typename Traits , typename Alloc >
LabelGenerator& Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::operator= ( LabelGenerator< CharT, Traits, Alloc > &&  other)
default

Move assignement (default)

Parameters
other
Returns
the current LabelGenerator

Member Data Documentation

◆ _characters

template<typename CharT , typename Traits , typename Alloc >
const std::array<CharT, 26> Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::_characters = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}
private

Definition at line 354 of file Label.hh.

◆ _enumerator

template<typename CharT , typename Traits , typename Alloc >
Diades::Utils::RangesEnumeration<size_t> Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::_enumerator
private

Definition at line 355 of file Label.hh.

◆ _prefix

template<typename CharT , typename Traits , typename Alloc >
Label Diades::Utils::LabelGenerator< CharT, Traits, Alloc >::_prefix
private

Definition at line 356 of file Label.hh.


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