view enigma/enigma_utils.h @ 4:2792ca4ffa84

Created enigma_machine class and tests.
author Brian Neal <bgneal@gmail.com>
date Sun, 24 Jun 2012 18:39:05 -0500
parents 1459e74fda3f
children 424111a36ed7
line wrap: on
line source
#ifndef CPP_ENIGMA_ENIGMA_UTILS_H
#define CPP_ENIGMA_ENIGMA_UTILS_H
// 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.h - This file contains common functions used throughout Cpp-Enigma.

#include <string>

namespace enigma
{
   // This version of mod acts like Python's with respect to negative dividends.
   inline int alpha_mod(int dividend)
   {
      if (dividend < 0)
      {
         dividend += 26;
      }
      return dividend % 26;
   }

   // Removes spaces from a string and returns the resulting string:
   std::string remove_spaces(const std::string& s);
}

#endif