TuringSim
C++ framework to simulate abstract computing models
TuringSim::Machine::Machine< TransitionType, deterministic, acceptingStyle, TransitionContainer, InitialStateContainer > Class Template Reference

Base class for machines. More...

#include <machine/machine.h>

Detailed Description

template<typename TransitionType, bool deterministic, AcceptingStyle acceptingStyle, template< typename... > class TransitionContainer = std::vector, template< typename... > class InitialStateContainer = std::vector>
class TuringSim::Machine::Machine< TransitionType, deterministic, acceptingStyle, TransitionContainer, InitialStateContainer >

Base class for machines.

All machines should inherit this class. It declares a few function, useful to run the machine: to get the initial states, to get the next applicable transitions, and to test if the machine is in an halting configuration.

This class has two specializations, depending on the deterministic template parameter.

These specialization does not hold any data member.

Template Parameters
TransitionTypethe type of the transitions of the machine. It must be a derived class of Transition::Transition
deterministica boolean, whether the machine is expected to be deterministic.
acceptingStylewhether the machine is alternating, regularly accepting, or not.
TransitionContainerthe container used to return matching transitions. By default, it is std::vector.
InitialStateContainerthe container used to return initial states. By default, it is std::vector.

Definition at line 33 of file machine.h.


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