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.