spdlog
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
Catch::Generators Namespace Reference

Namespaces

namespace  pf
 

Classes

struct  as
 
class  ChunkGenerator
 
class  FilterGenerator
 
class  FixedValuesGenerator
 
class  Generators
 
class  GeneratorUntypedBase
 
class  GeneratorWrapper
 
struct  IGenerator
 
class  MapGenerator
 
class  RandomFloatingGenerator
 
class  RandomIntegerGenerator
 
class  RangeGenerator
 
class  RepeatGenerator
 
class  SingleValueGenerator
 
class  TakeGenerator
 

Typedefs

using GeneratorBasePtr = std::unique_ptr< GeneratorUntypedBase >
 
template<typename Func , typename U >
using MapFunctionReturnType = typename std::remove_reference< typename std::remove_cv< typename std::result_of< Func(U)>::type >::type >::type
 

Functions

template<typename T >
GeneratorWrapper< Tvalue (T &&value)
 
template<typename T >
GeneratorWrapper< Tvalues (std::initializer_list< T > values)
 
template<typename... Ts>
GeneratorWrapper< std::tuple< Ts... > > table (std::initializer_list< std::tuple< typename std::decay< Ts >::type... > > tuples)
 
template<typename T , typename... Gs>
auto makeGenerators (GeneratorWrapper< T > &&generator, Gs... moreGenerators) -> Generators< T >
 
template<typename T >
auto makeGenerators (GeneratorWrapper< T > &&generator) -> Generators< T >
 
template<typename T , typename... Gs>
auto makeGenerators (T &&val, Gs... moreGenerators) -> Generators< T >
 
template<typename T , typename U , typename... Gs>
auto makeGenerators (as< T >, U &&val, Gs... moreGenerators) -> Generators< T >
 
auto acquireGeneratorTracker (SourceLineInfo const &lineInfo) -> IGeneratorTracker &
 
template<typename L >
auto generate (SourceLineInfo const &lineInfo, L const &generatorExpression) -> decltype(std::declval< decltype(generatorExpression())>().get())
 
template<typename T >
GeneratorWrapper< Ttake (size_t target, GeneratorWrapper< T > &&generator)
 
template<typename T , typename Predicate >
GeneratorWrapper< Tfilter (Predicate &&pred, GeneratorWrapper< T > &&generator)
 
template<typename T >
GeneratorWrapper< Trepeat (size_t repeats, GeneratorWrapper< T > &&generator)
 
template<typename Func , typename U , typename T = MapFunctionReturnType<Func, U>>
GeneratorWrapper< Tmap (Func &&function, GeneratorWrapper< U > &&generator)
 
template<typename T >
GeneratorWrapper< std::vector< T > > chunk (size_t size, GeneratorWrapper< T > &&generator)
 
template<typename T >
std::enable_if< std::is_integral< T >::value &&!std::is_same< T, bool >::value, GeneratorWrapper< T > >::type random (T a, T b)
 
template<typename T >
std::enable_if< std::is_floating_point< T >::value, GeneratorWrapper< T > >::type random (T a, T b)
 
template<typename T >
GeneratorWrapper< Trange (T const &start, T const &end, T const &step)
 
template<typename T >
GeneratorWrapper< Trange (T const &start, T const &end)
 

Typedef Documentation

◆ GeneratorBasePtr

Definition at line 3665 of file catch.hpp.

◆ MapFunctionReturnType

template<typename Func , typename U >
using Catch::Generators::MapFunctionReturnType = typedef typename std::remove_reference<typename std::remove_cv<typename std::result_of<Func(U)>::type>::type>::type

Definition at line 4072 of file catch.hpp.

Function Documentation

◆ acquireGeneratorTracker()

auto Catch::Generators::acquireGeneratorTracker ( SourceLineInfo const &  lineInfo) -> IGeneratorTracker &

◆ chunk()

template<typename T >
GeneratorWrapper< std::vector< T > > Catch::Generators::chunk ( size_t  size,
GeneratorWrapper< T > &&  generator 
)

Definition at line 4124 of file catch.hpp.

◆ filter()

template<typename T , typename Predicate >
GeneratorWrapper< T > Catch::Generators::filter ( Predicate &&  pred,
GeneratorWrapper< T > &&  generator 
)

Definition at line 3980 of file catch.hpp.

◆ generate()

template<typename L >
auto Catch::Generators::generate ( SourceLineInfo const &  lineInfo,
L const &  generatorExpression 
) -> decltype(std::declval<decltype(generatorExpression())>().get())

Definition at line 3881 of file catch.hpp.

◆ makeGenerators() [1/4]

template<typename T , typename U , typename... Gs>
auto Catch::Generators::makeGenerators ( as< T ,
U &&  val,
Gs...  moreGenerators 
) -> Generators<T>

Definition at line 3871 of file catch.hpp.

◆ makeGenerators() [2/4]

template<typename T >
auto Catch::Generators::makeGenerators ( GeneratorWrapper< T > &&  generator) -> Generators<T>

Definition at line 3863 of file catch.hpp.

◆ makeGenerators() [3/4]

template<typename T , typename... Gs>
auto Catch::Generators::makeGenerators ( GeneratorWrapper< T > &&  generator,
Gs...  moreGenerators 
) -> Generators<T>

Definition at line 3859 of file catch.hpp.

◆ makeGenerators() [4/4]

template<typename T , typename... Gs>
auto Catch::Generators::makeGenerators ( T &&  val,
Gs...  moreGenerators 
) -> Generators<T>

Definition at line 3867 of file catch.hpp.

◆ map()

template<typename Func , typename U , typename T = MapFunctionReturnType<Func, U>>
GeneratorWrapper< T > Catch::Generators::map ( Func &&  function,
GeneratorWrapper< U > &&  generator 
)

Definition at line 4076 of file catch.hpp.

◆ random() [1/2]

template<typename T >
std::enable_if< std::is_integral< T >::value &&!std::is_same< T, bool >::value, GeneratorWrapper< T > >::type Catch::Generators::random ( T  a,
T  b 
)

Definition at line 4317 of file catch.hpp.

◆ random() [2/2]

template<typename T >
std::enable_if< std::is_floating_point< T >::value, GeneratorWrapper< T > >::type Catch::Generators::random ( T  a,
T  b 
)

Definition at line 4326 of file catch.hpp.

◆ range() [1/2]

template<typename T >
GeneratorWrapper< T > Catch::Generators::range ( T const &  start,
T const &  end 
)

Definition at line 4372 of file catch.hpp.

◆ range() [2/2]

template<typename T >
GeneratorWrapper< T > Catch::Generators::range ( T const &  start,
T const &  end,
T const &  step 
)

Definition at line 4366 of file catch.hpp.

◆ repeat()

template<typename T >
GeneratorWrapper< T > Catch::Generators::repeat ( size_t  repeats,
GeneratorWrapper< T > &&  generator 
)

Definition at line 4033 of file catch.hpp.

◆ table()

template<typename... Ts>
GeneratorWrapper< std::tuple< Ts... > > Catch::Generators::table ( std::initializer_list< std::tuple< typename std::decay< Ts >::type... > >  tuples)

Definition at line 3850 of file catch.hpp.

◆ take()

template<typename T >
GeneratorWrapper< T > Catch::Generators::take ( size_t  target,
GeneratorWrapper< T > &&  generator 
)

Definition at line 3941 of file catch.hpp.

◆ value()

template<typename T >
GeneratorWrapper< T > Catch::Generators::value ( T &&  value)

Definition at line 3797 of file catch.hpp.

◆ values()

template<typename T >
GeneratorWrapper< T > Catch::Generators::values ( std::initializer_list< T values)

Definition at line 3801 of file catch.hpp.