TuringSim
C++ framework to simulate abstract computing models
Classes | Typedefs | Functions
TuringSim::Symbol Namespace Reference

The namespace for symbol patterns. More...

Classes

class  DynamicSymbolPattern
 A dynamic symbol pattern where accepted/rejected letters are identified by keys, and interpreted in a context. More...
 
class  MixedSymbolPattern
 A dynamic symbol pattern where some accepted/rejected symbols are explicit and constant, and other accepted/rejected letters are identified by keys, and interpreted in a context. More...
 
class  SimpleSymbolPattern
 Class to encode symbol pattern made of only one symbol. More...
 
class  SymbolPattern
 Base class to store any symbol pattern on one letter. More...
 
class  SymbolPattern< SymbolType_, void >
 Base class to store any symbol pattern on one letter, without context, for static patterns. More...
 
class  TuringStyleConstantSymbolPattern
 A symbol pattern as used by Turing. Such a pattern accept or reject a finite explicit set of symbols. More...
 
class  TuringStyleDynamicSymbolPattern
 A DynamicSymbolPattern with a predicate adapted to m-configuration. More...
 
class  TuringStyleMixedSymbolPattern
 A MixedSymbolPattern with a predicate adapted to m-configuration. More...
 
class  TuringStyleMixedSymbolPatternParser
 A parser of mixed symbol pattern where symbols are std::string More...
 
class  TuringStyleMixedSymbolPatternParserBadInitializationException
 Exception thrown when the special characters of a SymbolPatternParser are not consistent. More...
 
class  TuringStyleMixedSymbolPatternSyntaxErrorException
 Exception launched when we try to parse a string with a syntax error as a MConfiguration<std::string>. More...
 

Typedefs

template<typename T >
using TuringStyleSymbolPattern = std::variant< TuringStyleConstantSymbolPattern< T >, TuringStyleDynamicSymbolPattern< T > >
 a TuringStyleConstantSymbolPattern or a TuringStyleDynamicSymbolPattern. More...
 

Functions

template<typename T , typename CharT = char, typename Traits = std::char_traits<CharT>>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const TuringStyleSymbolPattern< T > &pattern)
 a printer for TuringStyleConstantSymbolPattern More...
 

Detailed Description

The namespace for symbol patterns.

Typedef Documentation

◆ TuringStyleSymbolPattern

a TuringStyleConstantSymbolPattern or a TuringStyleDynamicSymbolPattern.

This allows constant and dynamic patterns, but not pattern with a dynamic and a constant component. Use a TuringStyleMixedSymbolPattern instead.

Definition at line 488 of file turingMachineSymbolPattern.h.

Function Documentation

◆ operator<<()

template<typename T , typename CharT = char, typename Traits = std::char_traits<CharT>>
std::basic_ostream<CharT, Traits>& TuringSim::Symbol::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const TuringStyleSymbolPattern< T > &  pattern 
)

a printer for TuringStyleConstantSymbolPattern

Template Parameters
Tthe type of symbols.
CharTchar type.
Traitsstd::basic_ostream trait.
Parameters
[in,out]osoutput stream.
[in]patternthe pattern to print.
Returns
Updated os.

Definition at line 1 of file turingMachineSymbolPattern.h.