TuringSim
C++ framework to simulate abstract computing models
Namespaces | Classes | Typedefs
TuringSim::Memory Namespace Reference

Memory structures used by machines, such as tapes, stacks... More...

Namespaces

 HalfTape
 Namespace for HalfTape, the observer and the modifier.
 
 MultiStack
 Namespace for MultiStack, the observer and the modifier.
 
 MultiTape
 Namespace for MultiStack, the observer and the modifier.
 
 RandomAccessMemory
 Namespace for RandomAccessMemory, the observer and the modifier.
 
 Stack
 Namespace for Stack, the observer and the modifier.
 
 Tape
 Namespace for Tape, the observer and the modifier.
 
 Word
 Namespace for Word, the observer and the modifier.
 

Classes

class  ExistingModifierException
 Exception thrown when attempting to bound a modifier to a memory structure that is already bound to another modifier. More...
 
class  InvalidFactorException
 Exception thrown when a size factor is set to an illegal value. More...
 
class  MemoryModifier
 Base class for all memory modifiers. More...
 
class  MemoryObserver
 Base class for all memory observers. More...
 
class  MemoryStructure
 Base class for all memory structures. More...
 

Typedefs

template<bool isHalfTape, typename SymbolType >
using TapeLike = std::conditional_t< isHalfTape, HalfTape::HalfTape< SymbolType >, Tape::Tape< SymbolType > >
 

Detailed Description

Memory structures used by machines, such as tapes, stacks...

Typedef Documentation

◆ TapeLike

template<bool isHalfTape, typename SymbolType >
TuringSim::Memory::TapeLike
Template Parameters
isHalfTapea bool, whether the tape-like is a half-tape or a regular tape.
SymbolTypethe alphabet on the (half-)tape.

Definition at line 12 of file tapeLike.h.