EnigmaMachineCore 0.1.0
A modular Enigma Machine simulation in C++20
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
EnigmaMachineConfig Struct Reference

Configuration Data Transfer Object (DTO) for the Enigma Machine. Holds the raw configuration data required to initialize the machine. More...

#include <EnigmaMachineConfig.hpp>

+ Collaboration diagram for EnigmaMachineConfig:

Public Member Functions

 EnigmaMachineConfig ()
 Default constructor. Initializes plugboard pairs to -1 (unused).
 

Public Attributes

int rotorCount = 0
 Number of rotors in the machine.
 
std::vector< AlphabetIndex > rotorPositions
 Initial rotational positions of the rotors.
 
std::vector< RotorConfigrotors
 Configuration for each rotor (in order).
 
ReflectorConfig reflector
 Configuration for the reflector.
 
std::array< PlugBoardPair, PLUGBOARD_MAX_PAIRSplugBoardPairs
 Plugboard connection pairs.
 

Detailed Description

Configuration Data Transfer Object (DTO) for the Enigma Machine. Holds the raw configuration data required to initialize the machine.

Note
This is a pure data structure. Logic for loading this from files resides in EnigmaConfigLoader.

Definition at line 37 of file EnigmaMachineConfig.hpp.

Constructor & Destructor Documentation

◆ EnigmaMachineConfig()

EnigmaMachineConfig::EnigmaMachineConfig ( )

Default constructor. Initializes plugboard pairs to -1 (unused).

Definition at line 18 of file EnigmaMachineConfig.cpp.

References plugBoardPairs.

Member Data Documentation

◆ plugBoardPairs

std::array<PlugBoardPair, PLUGBOARD_MAX_PAIRS> EnigmaMachineConfig::plugBoardPairs

Plugboard connection pairs.

Definition at line 47 of file EnigmaMachineConfig.hpp.

Referenced by EnigmaMachineConfig(), and EnigmaConfigLoader::load().

◆ reflector

ReflectorConfig EnigmaMachineConfig::reflector

Configuration for the reflector.

Definition at line 45 of file EnigmaMachineConfig.hpp.

Referenced by EnigmaConfigLoader::load().

◆ rotorCount

int EnigmaMachineConfig::rotorCount = 0

Number of rotors in the machine.

Definition at line 39 of file EnigmaMachineConfig.hpp.

Referenced by EnigmaConfigLoader::load().

◆ rotorPositions

std::vector<AlphabetIndex> EnigmaMachineConfig::rotorPositions

Initial rotational positions of the rotors.

Definition at line 41 of file EnigmaMachineConfig.hpp.

Referenced by EnigmaConfigLoader::load().

◆ rotors

std::vector<RotorConfig> EnigmaMachineConfig::rotors

Configuration for each rotor (in order).

Definition at line 43 of file EnigmaMachineConfig.hpp.

Referenced by EnigmaConfigLoader::load().


The documentation for this struct was generated from the following files: