QtRocket
 
Loading...
Searching...
No Matches
Catch::Generators::Generators< T > Class Template Reference

#include <catch_amalgamated.hpp>

Inheritance diagram for Catch::Generators::Generators< T >:
Collaboration diagram for Catch::Generators::Generators< T >:

Public Member Functions

template<typename... Gs>
 Generators (Gs &&... moreGenerators)
 
T const & get () const override
 
bool next () override
 
- Public Member Functions inherited from Catch::Generators::GeneratorUntypedBase
 GeneratorUntypedBase ()=default
 
 GeneratorUntypedBase (GeneratorUntypedBase const &)=default
 
GeneratorUntypedBaseoperator= (GeneratorUntypedBase const &)=default
 
virtual ~GeneratorUntypedBase ()
 
bool countedNext ()
 
std::size_t currentElementIndex () const
 
StringRef currentElementAsString () const
 

Private Member Functions

void add_generator (GeneratorWrapper< T > &&generator)
 
void add_generator (T const &val)
 
void add_generator (T &&val)
 
template<typename U>
std::enable_if_t<!std::is_same< std::decay_t< U >, T >::valueadd_generator (U &&val)
 
template<typename U>
void add_generators (U &&valueOrGenerator)
 
template<typename U, typename... Gs>
void add_generators (U &&valueOrGenerator, Gs &&... moreGenerators)
 

Private Attributes

std::vector< GeneratorWrapper< T > > m_generators
 
size_t m_current = 0
 

Additional Inherited Members

- Public Types inherited from Catch::Generators::IGenerator< T >
using type = T
 

Constructor & Destructor Documentation

◆ Generators()

template<typename T>
template<typename... Gs>
Catch::Generators::Generators< T >::Generators ( Gs &&... moreGenerators)
inline
Here is the call graph for this function:

Member Function Documentation

◆ add_generator() [1/4]

template<typename T>
void Catch::Generators::Generators< T >::add_generator ( GeneratorWrapper< T > && generator)
inlineprivate
Here is the caller graph for this function:

◆ add_generator() [2/4]

template<typename T>
void Catch::Generators::Generators< T >::add_generator ( T && val)
inlineprivate
Here is the call graph for this function:

◆ add_generator() [3/4]

template<typename T>
void Catch::Generators::Generators< T >::add_generator ( T const & val)
inlineprivate
Here is the call graph for this function:

◆ add_generator() [4/4]

template<typename T>
template<typename U>
std::enable_if_t<!std::is_same< std::decay_t< U >, T >::value > Catch::Generators::Generators< T >::add_generator ( U && val)
inlineprivate
Here is the call graph for this function:

◆ add_generators() [1/2]

template<typename T>
template<typename U>
void Catch::Generators::Generators< T >::add_generators ( U && valueOrGenerator)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_generators() [2/2]

template<typename T>
template<typename U, typename... Gs>
void Catch::Generators::Generators< T >::add_generators ( U && valueOrGenerator,
Gs &&... moreGenerators )
inlineprivate
Here is the call graph for this function:

◆ get()

template<typename T>
T const & Catch::Generators::Generators< T >::get ( ) const
inlineoverridevirtual

◆ next()

template<typename T>
bool Catch::Generators::Generators< T >::next ( )
inlineoverridevirtual

Attempts to move the generator to the next element

Returns true iff the move succeeded (and a valid element can be retrieved).

Implements Catch::Generators::GeneratorUntypedBase.

Member Data Documentation

◆ m_current

template<typename T>
size_t Catch::Generators::Generators< T >::m_current = 0
private

◆ m_generators

template<typename T>
std::vector<GeneratorWrapper<T> > Catch::Generators::Generators< T >::m_generators
private

The documentation for this class was generated from the following file: