annotate enigma/enigma_utils.cpp @ 12:424111a36ed7

Created enigma_machine::process_data() for some speed improvements.
author Brian Neal <bgneal@gmail.com>
date Sun, 01 Jul 2012 12:53:10 -0500
parents 2792ca4ffa84
children
rev   line source
bgneal@4 1 // Copyright (C) 2012 by Brian Neal.
bgneal@4 2 // This file is part of Cpp-Enigma, the Enigma Machine simulation.
bgneal@4 3 // Cpp-Enigma is released under the MIT License (see License.txt).
bgneal@4 4 //
bgneal@4 5 // enigma_utils.cpp - Implementation file for enigma_utils.h.
bgneal@4 6
bgneal@4 7 #include "enigma_utils.h"
bgneal@4 8
bgneal@4 9 std::string enigma::remove_spaces(const std::string& s)
bgneal@4 10 {
bgneal@4 11 std::string result;
bgneal@4 12 result.reserve(s.size());
bgneal@4 13
bgneal@4 14 for (const auto& c : s)
bgneal@4 15 {
bgneal@4 16 if (c != ' ')
bgneal@4 17 {
bgneal@4 18 result += c;
bgneal@4 19 }
bgneal@4 20 }
bgneal@4 21 return result;
bgneal@4 22 }
bgneal@12 23
bgneal@12 24 ////////////////////////////////////////////////////////////////////////////////
bgneal@12 25
bgneal@12 26 std::string enigma::preprocess_ciphertext(const std::string& s)
bgneal@12 27 {
bgneal@12 28 std::string result;
bgneal@12 29 result.reserve(s.size());
bgneal@12 30
bgneal@12 31 for (const auto& c : s)
bgneal@12 32 {
bgneal@12 33 if (c != ' ')
bgneal@12 34 {
bgneal@12 35 result += c - 'A';
bgneal@12 36 }
bgneal@12 37 }
bgneal@12 38 return result;
bgneal@12 39 }