view 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
line wrap: on
line source
// Copyright (C) 2012 by Brian Neal.
// This file is part of Cpp-Enigma, the Enigma Machine simulation.
// Cpp-Enigma is released under the MIT License (see License.txt).
//
// enigma_utils.cpp - Implementation file for enigma_utils.h.

#include "enigma_utils.h"

std::string enigma::remove_spaces(const std::string& s)
{
   std::string result;
   result.reserve(s.size());

   for (const auto& c : s)
   {
      if (c != ' ')
      {
         result += c;
      }
   }
   return result;
}

////////////////////////////////////////////////////////////////////////////////

std::string enigma::preprocess_ciphertext(const std::string& s)
{
   std::string result;
   result.reserve(s.size());

   for (const auto& c : s)
   {
      if (c != ' ')
      {
         result += c - 'A';
      }
   }
   return result;
}