Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
catch_generators.hpp File Reference
#include "catch_interfaces_generatortracker.h"
#include "catch_common.h"
#include "catch_enforce.h"
#include <memory>
#include <vector>
#include <cassert>
#include <utility>
#include <exception>
Include dependency graph for catch_generators.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Catch::GeneratorException
 
struct  Catch::Generators::IGenerator< T >
 
class  Catch::Generators::SingleValueGenerator< T >
 
class  Catch::Generators::FixedValuesGenerator< T >
 
class  Catch::Generators::GeneratorWrapper< T >
 
class  Catch::Generators::Generators< T >
 
struct  Catch::Generators::as< T >
 

Namespaces

namespace  Catch
 
namespace  Catch::Generators
 
namespace  Catch::Generators::pf
 

Macros

#define GENERATE(...)
 
#define GENERATE_COPY(...)
 
#define GENERATE_REF(...)
 

Functions

template<typename T , typename... Args>
std::unique_ptr< TCatch::Generators::pf::make_unique (Args &&... args)
 
template<typename T >
GeneratorWrapper< TCatch::Generators::value (T &&value)
 
template<typename T >
GeneratorWrapper< TCatch::Generators::values (std::initializer_list< T > values)
 
template<typename... Ts>
GeneratorWrapper< std::tuple< Ts... > > Catch::Generators::table (std::initializer_list< std::tuple< typename std::decay< Ts >::type... > > tuples)
 
template<typename T , typename... Gs>
auto Catch::Generators::makeGenerators (GeneratorWrapper< T > &&generator, Gs... moreGenerators) -> Generators< T >
 
template<typename T >
auto Catch::Generators::makeGenerators (GeneratorWrapper< T > &&generator) -> Generators< T >
 
template<typename T , typename... Gs>
auto Catch::Generators::makeGenerators (T &&val, Gs... moreGenerators) -> Generators< T >
 
template<typename T , typename U , typename... Gs>
auto Catch::Generators::makeGenerators (as< T >, U &&val, Gs... moreGenerators) -> Generators< T >
 
auto Catch::Generators::acquireGeneratorTracker (SourceLineInfo const &lineInfo) -> IGeneratorTracker &
 
template<typename L >
auto Catch::Generators::generate (SourceLineInfo const &lineInfo, L const &generatorExpression) -> decltype(std::declval< decltype(generatorExpression())>().get())
 

Macro Definition Documentation

◆ GENERATE

#define GENERATE ( ...)
Value:
Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [ ]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } )
#define CATCH_INTERNAL_LINEINFO
auto generate(SourceLineInfo const &lineInfo, L const &generatorExpression) -> decltype(std::declval< decltype(generatorExpression())>().get())

Definition at line 203 of file catch_generators.hpp.

203#define GENERATE( ... ) \
204 Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [ ]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } )

◆ GENERATE_COPY

#define GENERATE_COPY ( ...)
Value:
Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [=]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } )

Definition at line 205 of file catch_generators.hpp.

205#define GENERATE_COPY( ... ) \
206 Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [=]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } )

◆ GENERATE_REF

#define GENERATE_REF ( ...)
Value:
Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [&]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } )

Definition at line 207 of file catch_generators.hpp.

207#define GENERATE_REF( ... ) \
208 Catch::Generators::generate( CATCH_INTERNAL_LINEINFO, [&]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } )