mpqc::utility::GeneratorAdaptor< BaseGenerator, UnaryCallable > Class Template Reference
Collaboration diagram for mpqc::utility::GeneratorAdaptor< BaseGenerator, UnaryCallable >:

Documentation

template<typename BaseGenerator, typename UnaryCallable>
class mpqc::utility::GeneratorAdaptor< BaseGenerator, UnaryCallable >

Generator adaptor.

Template Parameters
BaseGeneratora generator type
UnaryCallablea unary callable type

Public Types

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

Public Member Functions

template<typename Base , typename Callable >
 GeneratorAdaptor (Base &&base, Callable &&callable)
 
 operator bool () const
 
GeneratorAdaptoroperator++ ()
 
const value_typeoperator* () const
 
bool operator== (const GeneratorAdaptor &other) const
 
const auto & base () const
 
- Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< GeneratorAdaptor< BaseGenerator, UnaryCallable >, std::invoke_result_t< UnaryCallable, const BaseGenerator::value_type & > >
const_iterator begin ()
 
const_iterator end () const
 

Member Typedef Documentation

◆ value_type

template<typename BaseGenerator , typename UnaryCallable >
using mpqc::utility::GeneratorAdaptor< BaseGenerator, UnaryCallable >::value_type = std::invoke_result_t<UnaryCallable, const typename BaseGenerator::value_type&>

Constructor & Destructor Documentation

◆ GeneratorAdaptor()

template<typename BaseGenerator , typename UnaryCallable >
template<typename Base , typename Callable >
mpqc::utility::GeneratorAdaptor< BaseGenerator, UnaryCallable >::GeneratorAdaptor ( Base &&  base,
Callable &&  callable 
)
inline
Parameters
[in]basea BaseGenerator object

Member Function Documentation

◆ base()

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

◆ operator bool()

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

◆ operator*()

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

◆ operator++()

template<typename BaseGenerator , typename UnaryCallable >
GeneratorAdaptor& mpqc::utility::GeneratorAdaptor< BaseGenerator, UnaryCallable >::operator++ ( )
inline

◆ operator==()

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

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