11class iter:
public iterable,
public clonable,
public typeProvidable {
14 template <
typename E,
typename TACTIC>
friend class tnarr;
15 template <
typename K,
typename V,
typename defaultContainer>
friend class tnchain;
23 me operator+(ncnt step);
26 me& operator+=(ncnt step);
28 using iterable::operator*;
29 RSquare operator*()
override;
31 typename std::remove_reference<R>::type operator->();
32 const typename std::remove_reference<R>::type operator->() const BY_CONST_FUNC(operator->())
33 me& operator=(const me& rhs);
34 explicit operator nbool() const;
37 nbool isReversed() const override;
43 nbool isFrom(const tucontainable& it) const override;
45 nbool isEnd() const override;
46 ncnt
next(ncnt step) override;
47 ncnt prev(ncnt step) override;
48 ncnt stepForward(ncnt step) override;
49 ncnt stepBackward(ncnt step) override;
54 template <typename E> E* get() {
return get()
TO(
template cast<E>()); }
56 tucontainable<T, R, RSquare>* getContainer()
override;
57 const tucontainable<T, R, RSquare>* getContainer() const BY_CONST_FUNC(getContainer())
60 me& _assign(const me& rhs);
61 nbool _onSame(const typeProvidable& rhs) const override;
65 void _nextToMatchParamType(typename
iterable::iterationType type);
66 ncnt _step(typename
iterable::iterationType type, ncnt step);
67 ncnt _iterate(typename
iterable::iterationType type, ncnt step);
Bidirectional iterator for key-value containers.
Definition: biter.hpp:9
ncnt next(ncnt step) override
void rel() override
once rel(), an iterator enters a state where it can never be reused again.
Definition: biterable.hpp:3
Definition: biteration.hpp:5
#define TO(fn)
Definition: to.hpp:171