annotate enigma/rotor_factory.h @ 13:b9d124a15926

To improve cache performance, the enigma machine rotors are now stored together with the reflector in a vector.
author Brian Neal <bgneal@gmail.com>
date Mon, 02 Jul 2012 19:14:36 -0500
parents 1459e74fda3f
children
rev   line source
bgneal@1 1 #ifndef CPP_ENIGMA_ROTOR_FACTORY_H
bgneal@1 2 #define CPP_ENIGMA_ROTOR_FACTORY_H
bgneal@1 3 // Copyright (C) 2012 by Brian Neal.
bgneal@1 4 // This file is part of Cpp-Enigma, the Enigma Machine simulation.
bgneal@1 5 // Cpp-Enigma is released under the MIT License (see License.txt).
bgneal@1 6 //
bgneal@1 7 // rotor_factory.h - simulated rotor & reflector factory functions
bgneal@1 8
bgneal@1 9 #include <memory>
bgneal@1 10
bgneal@1 11 namespace enigma
bgneal@1 12 {
bgneal@1 13 class rotor;
bgneal@1 14
bgneal@1 15 // Create a historical rotor with the given ring setting and return it:
bgneal@1 16 std::unique_ptr<rotor> create_rotor(const char* name, int ring_setting = 0);
bgneal@1 17
bgneal@1 18 // Create a historical reflector and return it:
bgneal@1 19 std::unique_ptr<rotor> create_reflector(const char* name);
bgneal@1 20 }
bgneal@1 21
bgneal@1 22 #endif