EnigmaMachineCore
0.1.0
A modular Enigma Machine simulation in C++20
Loading...
Searching...
No Matches
RotorBox
src
Transformer.cpp
Go to the documentation of this file.
1
6
#include "
Transformer.hpp
"
7
8
#include <iostream>
9
#include <stdexcept>
10
#include <string>
11
12
Transformer::Transformer
() {
type
=
TransformerType::Undefined
; }
13
14
int
Transformer::sizeOfLookupTable
()
const
{
15
return
static_cast<
int
>
(
lookupTable
.size()) *
static_cast<
int
>
(
lookupTable
[0].size());
16
}
17
18
TransformerType
Transformer::getType
()
const
{
return
type
; }
19
23
void
Transformer::setTransformValue
(
int
row,
int
col, AlphabetIndex value) {
lookupTable
.at(row).at(col) = value; }
24
28
AlphabetIndex
Transformer::getTransformValue
(
int
row,
int
col)
const
{
return
lookupTable
.at(row).at(col); }
29
33
void
Transformer::fillTransformRow
(
int
row, AlphabetIndex value) {
lookupTable
.at(row).fill(value); }
34
38
void
Transformer::copyTransformRow
(
int
row,
const
std::array<AlphabetIndex, TRANSFORMER_SIZE>& values) {
39
lookupTable
.at(row) = values;
40
}
41
45
const
std::array<AlphabetIndex, TRANSFORMER_SIZE>&
Transformer::getTransformRow
(
int
row)
const
{
46
return
lookupTable
.at(row);
47
}
Transformer.hpp
Header file for the Transformer class.
TransformerType
TransformerType
Enum representing the type of transformer.
Definition
Transformer.hpp:18
TransformerType::Undefined
@ Undefined
Transformer::getType
TransformerType getType() const
Returns the type of the transformer.
Definition
Transformer.cpp:18
Transformer::setTransformValue
void setTransformValue(int row, int col, AlphabetIndex value)
Sets a value in the transformation lookup table.
Definition
Transformer.cpp:23
Transformer::Transformer
Transformer()
Constructor for the Transformer class. Initializes the transformer type to NotDefined.
Definition
Transformer.cpp:12
Transformer::lookupTable
std::array< std::array< AlphabetIndex, TRANSFORMER_SIZE >, 2 > lookupTable
Definition
Transformer.hpp:26
Transformer::type
TransformerType type
Definition
Transformer.hpp:29
Transformer::getTransformRow
const std::array< AlphabetIndex, TRANSFORMER_SIZE > & getTransformRow(int row) const
Gets a read-only reference to a row in the transformation lookup table. Useful for using standard alg...
Definition
Transformer.cpp:45
Transformer::getTransformValue
AlphabetIndex getTransformValue(int row, int col) const
Gets a value from the transformation lookup table.
Definition
Transformer.cpp:28
Transformer::copyTransformRow
void copyTransformRow(int row, const std::array< AlphabetIndex, TRANSFORMER_SIZE > &values)
Copies a whole array into a row of the transformation lookup table.
Definition
Transformer.cpp:38
Transformer::sizeOfLookupTable
int sizeOfLookupTable() const
Calculates the size of the transformation lookup table (LUT).
Definition
Transformer.cpp:14
Transformer::fillTransformRow
void fillTransformRow(int row, AlphabetIndex value)
Fills a row of the transformation lookup table with a specific value.
Definition
Transformer.cpp:33
Generated by
1.9.8