| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- /*
 
-  *  Created by Phil Nash on 26/6/2018.
 
-  *
 
-  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 
-  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-  */
 
- #ifndef TWOBLUECUBES_CATCH_INTERFACES_GENERATORTRACKER_INCLUDED
 
- #define TWOBLUECUBES_CATCH_INTERFACES_GENERATORTRACKER_INCLUDED
 
- #include <memory>
 
- namespace Catch {
 
-     namespace Generators {
 
-         class GeneratorUntypedBase {
 
-         public:
 
-             GeneratorUntypedBase() = default;
 
-             virtual ~GeneratorUntypedBase();
 
-             // Attempts to move the generator to the next element
 
-              //
 
-              // Returns true iff the move succeeded (and a valid element
 
-              // can be retrieved).
 
-             virtual bool next() = 0;
 
-         };
 
-         using GeneratorBasePtr = std::unique_ptr<GeneratorUntypedBase>;
 
-     } // namespace Generators
 
-     struct IGeneratorTracker {
 
-         virtual ~IGeneratorTracker();
 
-         virtual auto hasGenerator() const -> bool = 0;
 
-         virtual auto getGenerator() const -> Generators::GeneratorBasePtr const& = 0;
 
-         virtual void setGenerator( Generators::GeneratorBasePtr&& generator ) = 0;
 
-     };
 
- } // namespace Catch
 
- #endif //TWOBLUECUBES_CATCH_INTERFACES_GENERATORTRACKER_INCLUDED
 
 
  |