10class iter:
public iterable,
public clonable,
public typeProvidable {
12 template <
typename K1,
typename V1,
typename defaultContainer1>
friend class tnchain;
13 template <
typename K1,
typename V1,
typename TACTIC>
friend class tnmap;
22 me operator+(ncnt step);
25 me& operator+=(ncnt step);
28 const V& operator*()
const BY_CONST_FUNC(
operator*())
29 const V* operator->()
const BY_CONST_FUNC(operator->())
30 me&
operator=(
const me& rhs);
31 explicit operator nbool()
const;
34 nbool isReversed()
const override;
41 using iterable::isFrom;
42 nbool isFrom(
const tbicontainable& it)
const override;
44 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;
51 const K* getKey()
const override;
53 template <
typename E>
const E* getKey()
const {
return getKey().template cast<E>(); }
55 using iterable::getVal;
58 template <
typename E> E* getVal() {
return getVal() TO(template cast<E>()); }
61 void setVal(const V& new1) override;
64 tbicontainable<K, V>* getContainer() override;
67 me& _assign(const me& rhs);
68 nbool _onSame(const typeProvidable& rhs) const override;
74 void _nextToMatchParamType(typename
iterable::iterationType type);
75 ncnt _step(typename
iterable::iterationType type, ncnt step);
76 ncnt _iterate(typename
iterable::iterationType type);