1 /* 2 * Created by Phil on 7/8/2012. 3 * Copyright 2011 Two Blue Cubes Ltd. All rights reserved. 4 * 5 * Distributed under the Boost Software License, Version 1.0. (See accompanying 6 * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 */ 8 #ifndef TWOBLUECUBES_CATCH_INTERFACES_GENERATORS_H_INCLUDED 9 #define TWOBLUECUBES_CATCH_INTERFACES_GENERATORS_H_INCLUDED 10 11 #include <string> 12 13 namespace Catch { 14 15 struct IGeneratorInfo { 16 virtual ~IGeneratorInfo(); 17 virtual bool moveNext() = 0; 18 virtual std::size_t getCurrentIndex() const = 0; 19 }; 20 21 struct IGeneratorsForTest { 22 virtual ~IGeneratorsForTest(); 23 24 virtual IGeneratorInfo& getGeneratorInfo( std::string const& fileInfo, std::size_t size ) = 0; 25 virtual bool moveNext() = 0; 26 }; 27 28 IGeneratorsForTest* createGeneratorsForTest(); 29 30 } // end namespace Catch 31 32 #endif // TWOBLUECUBES_CATCH_INTERFACES_GENERATORS_H_INCLUDED 33