mpqc::utility::FilteredGenerator< BaseGenerator, Filter > Class Template Reference
Collaboration diagram for mpqc::utility::FilteredGenerator< BaseGenerator, Filter >:

Documentation

template<typename BaseGenerator, typename Filter>
class mpqc::utility::FilteredGenerator< BaseGenerator, Filter >

filtered Generator removes elements for which the filter predicate returns false

Template Parameters
BaseGeneratora generator type
Filtera boolean predicate

Public Types

using value_type = typename BaseGenerator::value_type
 
- Public Types inherited from mpqc::utility::GeneratorRangeFacade< GeneratorAdaptor< BaseGenerator, Filter >, BaseGenerator::value_type >
typedef GeneratorIterator< GeneratorAdaptor< BaseGenerator, Filter >, GeneratorAdaptor< BaseGenerator, Filter > *, BaseGenerator::value_type > iterator
 
typedef GeneratorIterator< GeneratorAdaptor< BaseGenerator, Filter >, GeneratorAdaptor< BaseGenerator, Filter > *, const BaseGenerator::value_type > const_iterator
 

Public Member Functions

template<typename Base_ , typename Filter_ >
 FilteredGenerator (Base_ &&base, Filter_ &&filter)
 
 operator bool () const
 
FilteredGeneratoroperator++ ()
 
const value_typeoperator* () const
 
bool operator== (const FilteredGenerator &other) const
 
const auto & base () const
 
- Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< GeneratorAdaptor< BaseGenerator, Filter >, BaseGenerator::value_type >
const_iterator begin ()
 
const_iterator end () const
 

Member Typedef Documentation

◆ value_type

template<typename BaseGenerator , typename Filter >
using mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::value_type = typename BaseGenerator::value_type

Constructor & Destructor Documentation

◆ FilteredGenerator()

template<typename BaseGenerator , typename Filter >
template<typename Base_ , typename Filter_ >
mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::FilteredGenerator ( Base_ &&  base,
Filter_ &&  filter 
)
inline
Parameters
[in]basea BaseGenerator object

Member Function Documentation

◆ base()

template<typename BaseGenerator , typename Filter >
const auto& mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::base ( ) const
inline

◆ operator bool()

template<typename BaseGenerator , typename Filter >
mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::operator bool ( ) const
inlineexplicit
Returns
true if not pointing to the end

◆ operator*()

template<typename BaseGenerator , typename Filter >
const value_type& mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::operator* ( ) const
inline

◆ operator++()

template<typename BaseGenerator , typename Filter >
FilteredGenerator& mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::operator++ ( )
inline

◆ operator==()

template<typename BaseGenerator , typename Filter >
bool mpqc::utility::FilteredGenerator< BaseGenerator, Filter >::operator== ( const FilteredGenerator< BaseGenerator, Filter > &  other) const
inline

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