mpqc::utility::GeneratorDCIterator< Generator, T, typename > Class Template Reference
Collaboration diagram for mpqc::utility::GeneratorDCIterator< Generator, T, typename >:

Documentation

template<typename Generator, typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
class mpqc::utility::GeneratorDCIterator< Generator, T, typename >

Iterator facade for a Generator.

Generator is a Generator type

T value type for the iterator

WARNING: this is a deep-copy iterator, like standard iterators, hence it contains a Generator object

Public Member Functions

 GeneratorDCIterator () noexcept=default
 
 GeneratorDCIterator (const GeneratorDCIterator &)=default
 
 GeneratorDCIterator (GeneratorDCIterator &&) noexcept=default
 
GeneratorDCIteratoroperator= (const GeneratorDCIterator &)=default
 
GeneratorDCIteratoroperator= (GeneratorDCIterator &&) noexcept=default
 
 ~GeneratorDCIterator () noexcept=default
 
 GeneratorDCIterator (const Generator &g)
 
 GeneratorDCIterator (Generator &&g)
 

Friends

class boost::iterator_core_access
 

Constructor & Destructor Documentation

◆ GeneratorDCIterator() [1/5]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
mpqc::utility::GeneratorDCIterator< Generator, T, typename >::GeneratorDCIterator ( )
defaultnoexcept

Constructs a null iterator, i.e., an iterator that does not point to a generator.

Note
The null iterator is the universal "end" iterator, i.e., a null iterator is equal to a non-null iterator pointing to the end of generated range. As expected, two null iterators are equal.

◆ GeneratorDCIterator() [2/5]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
mpqc::utility::GeneratorDCIterator< Generator, T, typename >::GeneratorDCIterator ( const GeneratorDCIterator< Generator, T, typename > &  )
default

◆ GeneratorDCIterator() [3/5]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
mpqc::utility::GeneratorDCIterator< Generator, T, typename >::GeneratorDCIterator ( GeneratorDCIterator< Generator, T, typename > &&  )
defaultnoexcept

◆ ~GeneratorDCIterator()

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
mpqc::utility::GeneratorDCIterator< Generator, T, typename >::~GeneratorDCIterator ( )
defaultnoexcept

◆ GeneratorDCIterator() [4/5]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
mpqc::utility::GeneratorDCIterator< Generator, T, typename >::GeneratorDCIterator ( const Generator &  g)
inline

constructs an iterator pointing to a copy of generator g

Parameters
[in]ga Generator object

◆ GeneratorDCIterator() [5/5]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
mpqc::utility::GeneratorDCIterator< Generator, T, typename >::GeneratorDCIterator ( Generator &&  g)
inline

constructs an iterator pointing to a moved copy of generator g

Parameters
[in]ga Generator object

Member Function Documentation

◆ operator=() [1/2]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
GeneratorDCIterator& mpqc::utility::GeneratorDCIterator< Generator, T, typename >::operator= ( const GeneratorDCIterator< Generator, T, typename > &  )
default

◆ operator=() [2/2]

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
GeneratorDCIterator& mpqc::utility::GeneratorDCIterator< Generator, T, typename >::operator= ( GeneratorDCIterator< Generator, T, typename > &&  )
defaultnoexcept

Friends And Related Function Documentation

◆ boost::iterator_core_access

template<typename Generator , typename T = typename Generator::value_type, typename = std::enable_if_t<is_generator_v<Generator>>>
friend class boost::iterator_core_access
friend

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