TuringSim
C++ framework to simulate abstract computing models
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 CTuringSim::Machine::AcceptingMachine< TransitionType, acceptingStyle >Base class for accepting machines
 CTuringSim::Machine::AcceptingMachine< TransitionType_, acceptingStyle >
 CTuringSim::Machine::AcceptingMachine< TransitionType_, AcceptingStyle::Accepting >Specialization for simply accepting machines
 CTuringSim::Machine::AcceptingMachine< TransitionType_, AcceptingStyle::Alternating >Specialization for alternating machines
 CTuringSim::Machine::AcceptingMachine< TransitionType_, AcceptingStyle::NonAccepting >Specialization for non-accepting machines
 CTuringSim::Runner::AlternatingTree< LeafType >Represent a tree of properties with alternating quantifiers
 CTuringSim::Machine::Amnesic::AmnesicMachine< TransitionType, deterministic, acceptingStyle, TransitionContainer, InitialStateContainer >The class to represent an amnesic machine
 CTuringSim::Utils::ArrayBuilder< T, N >Build an array at compile time by applying a function
 CTuringSim::Utils::Compare< T >A class to compare values with a strong total order. The generic way use operator<
 CTuringSim::Utils::Compare< std::string >Specialization of Compare for string
 CTuringSim::Utils::Debug::Debug< CharT, Traits, T >A generic debug printer, defaulting to operator<< , when no specialization applies
 CTuringSim::Utils::Debug::Debug< CharT, Traits, bool >The debug printer for bool
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::array< T, N > >The debug printer for arrays
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::deque< T, Alloc > >The debug printer for deque
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::map< Key, Value, Comp, Alloc > >The debug printer for maps
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::monostate >The debug printer for monostate
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::optional< T > >The debug printer for options
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::pair< T1, T2 > >The debug printer for pairs
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::queue< T, C > >The debug printer for queue
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::set< T, Comp, Alloc > >The debug printer for sets
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::shared_ptr< T > >The debug printer for shared pointers
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::string >The debug printer for string
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::tuple< TT... > >The debug printer for tuples
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::vector< T, Alloc > >The debug printer for vectors
 CTuringSim::Utils::Debug::Debug< CharT, Traits, std::weak_ptr< T > >The debug printer for shared pointers
 CTuringSim::Runner::DeterministicMachineRunner< MachineType, ListenerType, ListenerConstructorArgs >A class to run a simulate the execution of a deterministic Machine
 CTuringSim::Machine::Amnesic::DeterministicSimpleAmnesicMachine< StateType, acceptingStyle, AcceptingConstructorArgs >
 CDeterministicSimpleAmnesicMachine_implThe class to represent a deterministic amnesic machine
 CTuringSim::Machine::FSM::DeterministicSimpleFiniteStateMachine< StateType, SymbolType, acceptingStyle, AcceptingConstructorArgs >The class to represent a deterministic finite state machine
 CTuringSim::Machine::PDM::DeterministicSimplePushdownMachine< StateType, LetterType, StackSymbolType, acceptingStyle, AcceptingConstructorArgs >The class to represent a deterministic simple pushdown machine
 CTuringSim::Transition::Turing::TuringStyleMConfigurationTuringMachineTransition< T, hasHalfTape >::DynamicWriteAn instruction that writes a single symbol identified by a key in a substitution
 CTuringSim::Transition::Turing::MConfigurationTuringMachineTransition< NodeStateType_, SymbolType_, hasHalfTape >::EraseInstructionAn instruction that erases the current symbol
 Cexception
 CTuringSim::Machine::FSM::FiniteStateMachine< TransitionType_, deterministic, acceptingStyle, TransitionContainer_, InitialStateContainer_ >The class to represent a finite state machine
 CTuringSim::Machine::PDM::GeneralPushdownMachine< StateType, LetterType, StackSymbolType, acceptingStyle, TransitionContainer_, InitialStateContainer_, AcceptingConstructorArgs >The class to represent a pushdown machine with arbitrary transitions
 CTuringSim::Memory::HalfTape::HalfTapeModifier< T >Modifier for the Tape class
 CTuringSim::Memory::HalfTape::HalfTapeObserver< T >Observer for the Tape class
 CTuringSim::Listener::Listener< MachineType_, IdType_ >The base class for listeners
 CTuringSim::Listener::Listener< MachineType_, std::monostate >
 CTuringSim::Listener::Listener< MachineType_, unsigned long long int >
 CTuringSim::Machine::Turing::LocalTuringMachine< TransitionType_, deterministic, acceptingStyle, TransitionContainer_, InitialStateContainer_ >Turing machines that only reads the current cell on the tape to select matching transitions
 CTuringSim::Machine::Turing::LocalTuringMachine< Transition::Turing::SimpleTuringMachineTransition< StateType_, SymbolType_, false >, false, AcceptingStyle::NonAccepting, std::set, std::set >
 CTuringSim::Machine::Turing::LocalTuringMachine< Transition::Turing::SimpleTuringMachineTransition< StateType_, SymbolType_, hasHalfTape >, deterministic, acceptingStyle, std::set, std::set >
 CTuringSim::Machine::Turing::LocalTuringMachine< Transition::Turing::TuringStyleMConfigurationTuringMachineTransition< SymbolType_, false >, false, AcceptingStyle::NonAccepting, std::set, std::set >
 CTuringSim::Machine::Turing::LocalTuringMachine< Transition::Turing::TuringStyleMConfigurationTuringMachineTransition< SymbolType_, hasHalfTape >, deterministic, acceptingStyle, std::set, std::set >
 CTuringSim::Machine::Machine< TransitionType, deterministic, acceptingStyle, TransitionContainer, InitialStateContainer >Base class for machines
 CTuringSim::Machine::Machine< TransitionType_, deterministic, acceptingStyle, std::vector, std::vector >
 CTuringSim::Machine::Machine< TransitionType_, deterministic, acceptingStyle, TransitionContainer_, InitialStateContainer_ >
 CTuringSim::Runner::MachineRunner_accepting_impl< MachineType, Enable >Internal class to add a "void accept()" member for accepting machines
 CTuringSim::Runner::MachineRunner_accepting_impl< MachineType_ >
 CTuringSim::Runner::MachineRunner_accepting_impl< MachineType_, std::enable_if_t< MachineType_::IsAccepting::value > >Specialization for accepting machines
 CTuringSim::Runner::MachineRunner_accepting_impl< MachineType_, std::enable_if_t<!MachineType_::IsAccepting::value > >Specialization for non-accepting machines
 CTuringSim::Runner::MachineRunnerArgs< MachineType, ListenerType >Provides types to use in constructors for generic versions
 CTuringSim::Runner::MachineRunnerArgs< MachineType, void >Provides types to use in constructors for generic versions
 CMachineType_
 CTuringSim::Machine::FSM::MaybeEpsilonFiniteStateMachine< StateType, SymbolType, acceptingStyle, AcceptingConstructorArgs >The class to represent a finite state machine with epsilon-transitions
 CTuringSim::Runner::MaybeEpsilonFiniteStateMachineRunner< MachineType, ListenerType, ListenerConstructorArgs >A class to run a simulate the execution of a MaybeEpsilonFiniteStateMachine
 CTuringSim::State::MConfiguration::MConfigurationMap< NodeType, V >An optimized map where keys are m-configurations
 CTuringSim::State::MConfiguration::MConfigurationMap< SymbolType, TransitionType >
 CTuringSim::State::MConfiguration::MConfigurationMap< T, V >
 CTuringSim::State::MConfiguration::MConfigurationParserParse a m-configuration written as a std::string into a MConfiguration<std::string>
 CTuringSim::Memory::MemoryModifier< Memory, Modifier >Base class for all memory modifiers
 CTuringSim::Memory::MemoryObserver< Memory, Observer >Base class for all memory observers
 CTuringSim::Memory::MemoryStructure< T, D, O, M >Base class for all memory structures
 CTuringSim::Memory::MemoryStructure< std::array< T, N >, MultiStack< T, N >, MultiStackObserver< T, N >, MultiStackModifier< T, N > >
 CTuringSim::Memory::MemoryStructure< std::array< T, N >, MultiTape< T, N >, MultiTapeObserver< T, N >, MultiTapeModifier< T, N > >
 CTuringSim::Memory::MemoryStructure< SymbolType, Word< SymbolType >, WordObserver< SymbolType >, WordModifier< SymbolType > >
 CTuringSim::Memory::MemoryStructure< T, HalfTape< T >, HalfTapeObserver< T >, HalfTapeModifier< T > >
 CTuringSim::Memory::MemoryStructure< T, RandomAccessMemory< T >, RandomAccessMemoryObserver< T >, RandomAccessMemoryModifier< T > >
 CTuringSim::Memory::MemoryStructure< T, Stack< T >, StackObserver< T >, StackModifier< T > >
 CTuringSim::Memory::MemoryStructure< T, Tape< T >, TapeObserver< T >, TapeModifier< T > >
 CTuringSim::Memory::MemoryStructure< T, Word< T >, WordObserver< T >, WordModifier< T > >
 CTuringSim::Transition::Turing::MConfigurationTuringMachineTransition< NodeStateType_, SymbolType_, hasHalfTape >::MovementInstructionAn instruction that performs a move on the tape
 CTuringSim::Memory::MultiStack::MultiStackModifier< T, N >Modifier for the MultiStack class
 CTuringSim::Memory::MultiStack::MultiStackObserver< T, N >Observer for the MultiStack class
 CTuringSim::Memory::MultiTape::MultiTapeModifier< T, N >Modifier for the MultiTape class
 CTuringSim::Memory::MultiTape::MultiTapeObserver< T, N >Observer for the MultiTape class
 CTuringSim::Runner::NonDeterministicMachineRunner< MachineType, ListenerType, ListenerConstructorArgs >A class to run a simulate the execution of a non-deterministic Machine
 CTuringSim::Machine::Amnesic::NonDeterministicSimpleAmnesicMachine< StateType, acceptingStyle, AcceptingConstructorArgs >
 CNonDeterministicSimpleAmnesicMachine_implThe class to represent a deterministic amnesic machine
 CTuringSim::Machine::FSM::NonDeterministicSimpleFiniteStateMachine< StateType, SymbolType, acceptingStyle, AcceptingConstructorArgs >The class to represent a non-deterministic finite state machine without epsilon-transitions
 CTuringSim::Runner::NonDeterministicSimpleFiniteStateMachineRunner< MachineType, ListenerType, ListenerConstructorArgs >A class to run a simulate the execution of a NonDeterministicSimpleFiniteStateMachine
 CTuringSim::Machine::PDM::NonDeterministicSimplePushdownMachine< StateType, LetterType, StackSymbolType, acceptingStyle, AcceptingConstructorArgs >The class to represent a non-deterministic simple pushdown machine
 CTuringSim::Machine::PDM::PushdownMachine< TransitionType_, deterministic, acceptingStyle, TransitionContainer_, InitialStateContainer_ >The class to represent a pushdown machine
 CTuringSim::Machine::PDM::PushdownMachine< Transition::PDM::SimplePushdownMachineTransition< StateType_, LetterType_, StackSymbolType_ >, deterministic, acceptingStyle, TransitionContainer_, InitialStateContainer_ >
 CTuringSim::Memory::RandomAccessMemory::RandomAccessMemoryModifier< T >Modifier for the RAM class
 CTuringSim::Memory::RandomAccessMemory::RandomAccessMemoryObserver< T >Observer for the RAM class
 CTuringSim::Machine::Amnesic::SimpleAmnesicMachine< StateType, deterministic, acceptingStyle, TransitionContainer, InitialStateContainer, AcceptingConstructorArgs >The base class of amnesic machine with simple state and explicit list of transitions
 CTuringSim::Machine::Amnesic::SimpleAmnesicMachine< StateType_, false, acceptingStyle >
 CTuringSim::Machine::Amnesic::SimpleAmnesicMachine< StateType_, true, acceptingStyle >
 CTuringSim::Machine::FSM::SimpleFiniteStateMachine< StateType, SymbolType, deterministic, acceptingStyle, TransitionContainer, InitialStateContainer, AcceptingConstructorArgs >The class to represent a finite state machine
 CTuringSim::Machine::FSM::SimpleFiniteStateMachine< StateType_, SymbolType_, false, acceptingStyle, std::set, std::set >
 CTuringSim::Machine::FSM::SimpleFiniteStateMachine< StateType_, SymbolType_, true, acceptingStyle, std::set, std::set >
 CSimpleFiniteStateMachine_accept_implImplementation of acceptation-related functions
 CTuringSim::Machine::PDM::SimplePushdownMachine< StateType, LetterType, StackSymbolType, deterministic, acceptingStyle, TransitionContainer_, InitialStateContainer_, AcceptingConstructorArgs >The class to represent a pushdown machine with simple transitions
 CTuringSim::Machine::PDM::SimplePushdownMachine< StateType_, LetterType_, StackSymbolType_, false, acceptingStyle, std::set, std::set >
 CTuringSim::Machine::PDM::SimplePushdownMachine< StateType_, LetterType_, StackSymbolType_, true, acceptingStyle, std::set, std::set >
 CTuringSim::Memory::Stack::StackModifier< T >Modifier for the Stack class
 CTuringSim::Memory::Stack::StackObserver< T >Observer for the Stack class
 CTuringSim::Machine::StateAcceptingMachine< MachineType, acceptingStyle >
 CTuringSim::Machine::impl_details_::StateAcceptingMachineArgs< StateType, acceptingStyle >This class provide a single type AcceptingConstructorArgs that is the tuple of parameters used to decide the acceptance
 CTuringSim::Machine::impl_details_::StateAcceptingMachineArgs< StateType_, AcceptingStyle::Accepting >The specialization of SimpleFiniteStateMachineArgs for accepting states
 CTuringSim::Machine::impl_details_::StateAcceptingMachineArgs< StateType_, AcceptingStyle::Alternating >The specialization of SimpleFiniteStateMachineArgs for alternating states
 CTuringSim::Machine::impl_details_::StateAcceptingMachineArgs< StateType_, AcceptingStyle::NonAccepting >The specialization of SimpleFiniteStateMachineArgs for non accepting states
 CTuringSim::State::StatePattern< StateType_, MatcherType_ >The base class of all state patterns
 CTuringSim::State::StatePattern< StateType, std::monostate >
 CTuringSim::State::StatePattern< std::shared_ptr< const MConfiguration< NodeType > >, std::map< NodeType, std::shared_ptr< const MConfiguration< NodeType > > > >
 CTuringSim::State::StatePattern< std::shared_ptr< const MConfiguration< T > >, std::map< T, std::shared_ptr< const MConfiguration< T > > > >
 CTuringSim::State::StatePattern< T, std::monostate >
 CTuringSim::Symbol::SymbolPattern< SymbolType_, Context_ >Base class to store any symbol pattern on one letter
 CTuringSim::Symbol::SymbolPattern< std::string, std::map< std::string, std::shared_ptr< const State::MConfiguration::MConfiguration< std::string > > > >
 CTuringSim::Symbol::SymbolPattern< SymbolType, std::map< KeyType, ValueType > >
 CTuringSim::Symbol::SymbolPattern< SymbolType, std::map< SymbolType, State::MConfiguration::MConfiguration< SymbolType > > >
 CTuringSim::Symbol::SymbolPattern< SymbolType, std::map< SymbolType, std::shared_ptr< const State::MConfiguration::MConfiguration< SymbolType > > > >
 CTuringSim::Symbol::SymbolPattern< SymbolType, void >
 CTuringSim::Symbol::SymbolPattern< SymbolType_, void >Base class to store any symbol pattern on one letter, without context, for static patterns
 CTuringSim::Symbol::SymbolPattern< T, std::map< T, std::shared_ptr< const State::MConfiguration::MConfiguration< T > > > >
 CTuringSim::Symbol::SymbolPattern< T, void >
 CTuringSim::Utils::TaggedUidDispenserFactory< Tag, UID >Return a new UID dispenser at each invocation
 CTuringSim::Memory::Tape::TapeModifier< T >Modifier for the Tape class
 CTuringSim::Memory::Tape::TapeObserver< T >Observer for the Tape class
 CTuringSim::Transition::Transition< StateType_, StorageType_, ApplyHelperType_ >Base class for transitions
 CTuringSim::Transition::Transition< StateType_, Memory::TapeLike< false, SymbolType_ >, ApplyHelperType_ >
 CTuringSim::Transition::Transition< StateType_, Memory::TapeLike< hasHalfTape, SymbolType_ >, ApplyHelperType_ >
 CTuringSim::Transition::Transition< StateType_, Memory::TapeLike< hasHalfTape, SymbolType_ >, std::monostate >
 CTuringSim::Transition::Transition< StateType_, Memory::Word::Word< SymbolType_ >, std::monostate >
 CTuringSim::Transition::Transition< StateType_, PushdownMachineStorage< LetterType_, StackSymbolType_ >, std::monostate >
 CTuringSim::Transition::Transition< StateType_, std::monostate, std::monostate >
 CTuringSim::Transition::Transition< std::shared_ptr< const State::MConfiguration::MConfiguration< NodeStateType_ > >, Memory::TapeLike< hasHalfTape, SymbolType_ >, MConfigurationTuringMachineTransitionApplyHelper< NodeStateType_ > >
 CTuringSim::Transition::Transition< std::shared_ptr< const State::MConfiguration::MConfiguration< std::string > >, Memory::TapeLike< hasHalfTape, std::string >, MConfigurationTuringMachineTransitionApplyHelper< std::string > >
 CTuringSim::Transition::Transition< std::shared_ptr< const State::MConfiguration::MConfiguration< T > >, Memory::TapeLike< hasHalfTape, T >, MConfigurationTuringMachineTransitionApplyHelper< T > >
 CTuringSim::Transition::Turing::TuringStyleInstructionListParser< hasHalfTape >A parser for instructions of StringTuringStyleMConfigurationTuringMachineTransition
 CTuringSim::Symbol::TuringStyleMixedSymbolPatternParserA parser of mixed symbol pattern where symbols are std::string
 CTuringSim::Utils::UidDispenser< UID >A dispenser of unique identifier
 CTuringSim::Utils::UidDispenser< std::pair< Tag, UID > >A specialization that returns pairs made of a tag, and an integer UID
 CTuringSim::Utils::UidDispenser< unsigned long long int >
 CTuringSim::Machine::Turing::UtmA factory for the universal Turing machine described in Turing's 1936 paper
 CTuringSim::Memory::Word::WordModifier< T >Modifier for the Word class
 CTuringSim::Memory::Word::WordObserver< T >Observer for the Word class
 CTuringSim::Transition::Turing::MConfigurationTuringMachineTransition< NodeStateType_, SymbolType_, hasHalfTape >::WriteInstructionAn instruction that writes a symbol on the tape.
 CTs