Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Member Functions
common::symbol_or_epsilon< SymbolType > Class Template Reference

#include <symbol_or_epsilon.hpp>

Public Member Functions

 symbol_or_epsilon (SymbolType symbol)
 
 symbol_or_epsilon ()=default
 
const SymbolType & getSymbol () const &
 
SymbolType && getSymbol () &&
 
bool is_epsilon () const
 
auto operator<=> (const symbol_or_epsilon &other) const
 
bool operator== (const symbol_or_epsilon &other) const
 
auto operator<=> (const SymbolType &other) const
 
bool operator== (const SymbolType &other) const
 
symbol_or_epsilon< SymbolType > & operator++ ()
 

Detailed Description

template<class SymbolType = DefaultSymbolType>
class common::symbol_or_epsilon< SymbolType >

Represents symbol in an std.

Constructor & Destructor Documentation

◆ symbol_or_epsilon() [1/2]

template<class SymbolType = DefaultSymbolType>
common::symbol_or_epsilon< SymbolType >::symbol_or_epsilon ( SymbolType  symbol)
inlineexplicit

Creates new symbol with given name and rank.

Parameters
symbolname of the symbol
rankof the symbol

◆ symbol_or_epsilon() [2/2]

template<class SymbolType = DefaultSymbolType>
common::symbol_or_epsilon< SymbolType >::symbol_or_epsilon ( )
explicitdefault

Member Function Documentation

◆ getSymbol() [1/2]

template<class SymbolType = DefaultSymbolType>
SymbolType && common::symbol_or_epsilon< SymbolType >::getSymbol ( ) &&
inline
Returns
name of the symbol

◆ getSymbol() [2/2]

template<class SymbolType = DefaultSymbolType>
const SymbolType & common::symbol_or_epsilon< SymbolType >::getSymbol ( ) const &
inline
Returns
name of the symbol
Here is the caller graph for this function:

◆ is_epsilon()

template<class SymbolType = DefaultSymbolType>
bool common::symbol_or_epsilon< SymbolType >::is_epsilon ( ) const
inline
Here is the caller graph for this function:

◆ operator++()

template<class SymbolType = DefaultSymbolType>
symbol_or_epsilon< SymbolType > & common::symbol_or_epsilon< SymbolType >::operator++ ( )
inline

◆ operator<=>() [1/2]

template<class SymbolType = DefaultSymbolType>
auto common::symbol_or_epsilon< SymbolType >::operator<=> ( const symbol_or_epsilon< SymbolType > &  other) const
inline

◆ operator<=>() [2/2]

template<class SymbolType = DefaultSymbolType>
auto common::symbol_or_epsilon< SymbolType >::operator<=> ( const SymbolType &  other) const
inline

◆ operator==() [1/2]

template<class SymbolType = DefaultSymbolType>
bool common::symbol_or_epsilon< SymbolType >::operator== ( const symbol_or_epsilon< SymbolType > &  other) const
inline

◆ operator==() [2/2]

template<class SymbolType = DefaultSymbolType>
bool common::symbol_or_epsilon< SymbolType >::operator== ( const SymbolType &  other) const
inline

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