sst-waveshapers
Waveshapers submodule for the Surge Synthesizer
Namespaces | Classes | Typedefs | Functions
Catch::Generators Namespace Reference

Namespaces

 pf
 

Classes

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

Typedefs

using GeneratorBasePtr = std::unique_ptr< GeneratorUntypedBase >
 

Functions

template<typename T >
GeneratorWrapper< T > value (T &&value)
 
template<typename T >
GeneratorWrapper< T > values (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 (StringRef generatorName, SourceLineInfo const &lineInfo) -> IGeneratorTracker &
 
template<typename L >
auto generate (StringRef generatorName, SourceLineInfo const &lineInfo, L const &generatorExpression) -> decltype(std::declval< decltype(generatorExpression())>().get())
 
template<typename T >
GeneratorWrapper< T > take (size_t target, GeneratorWrapper< T > &&generator)
 
template<typename T , typename Predicate >
GeneratorWrapper< T > filter (Predicate &&pred, GeneratorWrapper< T > &&generator)
 
template<typename T >
GeneratorWrapper< T > repeat (size_t repeats, GeneratorWrapper< T > &&generator)
 
template<typename Func , typename U , typename T = FunctionReturnType<Func, U>>
GeneratorWrapper< T > map (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< T > range (T const &start, T const &end, T const &step)
 
template<typename T >
GeneratorWrapper< T > range (T const &start, T const &end)
 
template<typename InputIterator , typename InputSentinel , typename ResultType = typename std::iterator_traits<InputIterator>::value_type>
GeneratorWrapper< ResultType > from_range (InputIterator from, InputSentinel to)
 
template<typename Container , typename ResultType = typename Container::value_type>
GeneratorWrapper< ResultType > from_range (Container const &cnt)
 

Typedef Documentation

◆ GeneratorBasePtr

using GeneratorBasePtr = std::unique_ptr<GeneratorUntypedBase>

Function Documentation

◆ value()

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

◆ values()

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

◆ table()

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

◆ makeGenerators() [1/4]

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

◆ makeGenerators() [2/4]

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

◆ makeGenerators() [3/4]

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

References makeGenerators(), and value().

◆ makeGenerators() [4/4]

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

References value().

Referenced by makeGenerators().

◆ acquireGeneratorTracker()

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

Referenced by generate().

◆ generate()

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

◆ take()

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

◆ filter()

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

◆ repeat()

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

◆ map()

GeneratorWrapper< T > map ( Func &&  function,
GeneratorWrapper< U > &&  generator 
)

◆ chunk()

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

◆ random() [1/2]

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

◆ random() [2/2]

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

◆ range() [1/2]

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

◆ range() [2/2]

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

◆ from_range() [1/2]

GeneratorWrapper<ResultType> Catch::Generators::from_range ( InputIterator  from,
InputSentinel  to 
)

◆ from_range() [2/2]

GeneratorWrapper<ResultType> Catch::Generators::from_range ( Container const &  cnt)