Branch data Line data Source code
1 : : // ***************************************************************************** 2 : : /*! 3 : : \file src/Main/RNGTestDriver.hpp 4 : : \copyright 2012-2015 J. Bakosi, 5 : : 2016-2018 Los Alamos National Security, LLC., 6 : : 2019-2021 Triad National Security, LLC. 7 : : All rights reserved. See the LICENSE file for details. 8 : : \brief Random number generator test suite driver 9 : : \details Random number generator test suite driver. 10 : : */ 11 : : // ***************************************************************************** 12 : : #ifndef RNGTestDriver_h 13 : : #define RNGTestDriver_h 14 : : 15 : : #include <map> 16 : : #include <functional> 17 : : 18 : : #include "RNGTest/Options/Battery.hpp" 19 : : #include "RNGTest/CmdLine/CmdLine.hpp" 20 : : 21 : : //! Everything that contributes to the rngtest executable 22 : : namespace rngtest { 23 : : 24 : : class Battery; 25 : : class RNGTestPrint; 26 : : 27 : : //! Battery factory type 28 : : using BatteryFactory = std::map< ctr::BatteryType, std::function< Battery() > >; 29 : : 30 : : //! \brief Random number generator test suite driver used polymorphically with 31 : : //! tk::Driver 32 : 0 : class RNGTestDriver { 33 : : 34 : : public: 35 : : //! Constructor 36 : : explicit RNGTestDriver( const ctr::CmdLine& cmdline, int nrestart ); 37 : : 38 : : //! Execute driver 39 : : void execute() const; 40 : : 41 : : private: 42 : : const RNGTestPrint m_print; 43 : : }; 44 : : 45 : : } // rngtest:: 46 : : 47 : : #endif // RNGTestDriver_h