mpqc::utility::GeneratorIterator< Generator, GeneratorPtr, T > Class Template Reference
Collaboration diagram for mpqc::utility::GeneratorIterator< Generator, GeneratorPtr, T >:
Documentation
template<typename Generator, typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
class mpqc::utility::GeneratorIterator< Generator, GeneratorPtr, T >
Iterator facade for a Generator.
Generator
a Generator type
GeneratorPtr
a pointer type to use to refer to Generator; defaults to Generator*
, can accept also unique_ptr<Generator>
and shared_ptr<Generator>
T
value type for the iterator
WARNING: this is a shallow-copy iterator, i.e. its copy's value will change if this is incremented. Standard iterators are all deep-copy. See GeneratorDCIterator for a deep-copy version
Public Member Functions | |
GeneratorIterator () noexcept=default | |
GeneratorIterator (const GeneratorIterator &) noexcept=default | |
GeneratorIterator (GeneratorIterator &&) noexcept=default | |
GeneratorIterator & | operator= (const GeneratorIterator &) noexcept=default |
GeneratorIterator & | operator= (GeneratorIterator &&) noexcept=default |
~GeneratorIterator () noexcept=default | |
GeneratorIterator (Generator *g) noexcept | |
Friends | |
class | boost::iterator_core_access |
Constructor & Destructor Documentation
◆ GeneratorIterator() [1/4]
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
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.
◆ GeneratorIterator() [2/4]
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
defaultnoexcept |
◆ GeneratorIterator() [3/4]
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
defaultnoexcept |
◆ ~GeneratorIterator()
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
defaultnoexcept |
◆ GeneratorIterator() [4/4]
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
inlinenoexcept |
constructs an iterator pointing to Generator g
- Parameters
-
[in] g pointer to a Generator object; can be null
Member Function Documentation
◆ operator=() [1/2]
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
defaultnoexcept |
◆ operator=() [2/2]
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
defaultnoexcept |
Friends And Related Function Documentation
◆ boost::iterator_core_access
template<typename Generator , typename GeneratorPtr = Generator*, typename T = typename Generator::value_type>
|
friend |
The documentation for this class was generated from the following file:
- mpqc/util/misc/generator.h