|
PLaSK library
|
Polymorphic, forward iterator. More...
#include <plask/utils/iterators.hpp>
Public Member Functions | |
| PolymorphicForwardIterator (ImplT *impl=nullptr) | |
| Construct iterator which holds given implementation object. | |
| PolymorphicForwardIterator (const PolymorphicForwardIterator &src) | |
| Copy constructor. | |
| PolymorphicForwardIterator (PolymorphicForwardIterator &&src)=default | |
| Move constructor. | |
| void | swap (PolymorphicForwardIterator &to_swap) noexcept |
Swap values of this and to_swap. | |
| PolymorphicForwardIterator & | operator= (const PolymorphicForwardIterator &src) |
| PolymorphicForwardIterator & | operator= (PolymorphicForwardIterator &&src)=default |
Protected Attributes | |
| std::unique_ptr< ImplT > | impl |
Friends | |
| class | boost::iterator_core_access |
| template<class > | |
| struct | PolymorphicForwardIterator |
Polymorphic, forward iterator.
Hold and delegate all calls to implementation object which is a instantiation of PolymorficForwardIteratorImpl template.
| ImplT | instantiation of PolymorphicForwardIteratorImpl |
Definition at line 129 of file iterators.hpp.
|
inline |
Construct iterator which holds given implementation object.
| impl | Implementation object. It will be delete by constructor of this. If it is nullptr you should not call any methods of this before assign. |
Definition at line 147 of file iterators.hpp.
|
inline |
Copy constructor.
Clone implementation object.
| src | Iterator from which implementation object should be clone. |
Definition at line 153 of file iterators.hpp.
|
default |
Move constructor.
| src | Iterator to move from. |
|
inline |
Definition at line 167 of file iterators.hpp.
|
default |
|
inlinenoexcept |
Definition at line 176 of file iterators.hpp.
Definition at line 177 of file iterators.hpp.
|
protected |
Definition at line 138 of file iterators.hpp.