catch2/include/internal/catch_interfaces_generators.h

33 lines
942 B
C
Raw Normal View History

2012-08-07 09:18:48 +02:00
/*
* Created by Phil on 7/8/2012.
* Copyright 2011 Two Blue Cubes Ltd. All rights reserved.
*
* 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_GENERATORS_H_INCLUDED
#define TWOBLUECUBES_CATCH_INTERFACES_GENERATORS_H_INCLUDED
2012-08-07 09:18:33 +02:00
2012-08-07 09:18:48 +02:00
#include <string>
2012-08-07 09:18:33 +02:00
2012-08-07 09:18:48 +02:00
namespace Catch {
2012-08-07 09:18:33 +02:00
2012-08-07 09:18:48 +02:00
struct IGeneratorInfo {
virtual ~IGeneratorInfo();
2012-08-07 09:18:48 +02:00
virtual bool moveNext() = 0;
virtual std::size_t getCurrentIndex() const = 0;
};
2012-08-07 09:18:48 +02:00
struct IGeneratorsForTest {
virtual ~IGeneratorsForTest();
2012-08-07 09:18:33 +02:00
virtual IGeneratorInfo& getGeneratorInfo( std::string const& fileInfo, std::size_t size ) = 0;
2012-08-07 09:18:48 +02:00
virtual bool moveNext() = 0;
};
IGeneratorsForTest* createGeneratorsForTest();
} // end namespace Catch
#endif // TWOBLUECUBES_CATCH_INTERFACES_GENERATORS_H_INCLUDED