Loading...
Searching...
No Matches
iter Class Reference

Bidirectional iterator for key-value containers. More...

#include <biter.hpp>

Inheritance diagram for iter:
iterable iterable

Public Member Functions

 iter (iteration *newStep)
 
 iter (const me &rhs)
 
me operator+ (ncnt step)
 
me & operator++ ()
 
me operator++ (int)
 
me & operator+= (ncnt step)
 
V & operator* ()
 
V * operator-> ()
 
const V & operator* () const BY_CONST_FUNC(operator*()) const V *operator->() const BY_CONST_FUNC(operator->()) me &operator=(const me &rhs)
 
 operator nbool () const
 
nbool isReversed () const override
 
void rel () override
 
nbool isFrom (const tbicontainable &it) const override
 
nbool isEnd () const override
 
ncnt next (ncnt step) override
 
ncnt prev (ncnt step) override
 
ncnt stepForward (ncnt step) override
 
ncnt stepBackward (ncnt step) override
 
const K * getKey () const override
 
template<typename E >
const E * getKey () const
 
V * getVal () override
 
template<typename E >
E * getVal ()
 
void setVal (const V &new1) override
 
tbicontainable< K, V > * getContainer () override
 
 iter (iteration *newStep)
 
 iter (const me &rhs)
 
me operator+ (ncnt step)
 
me & operator++ ()
 
me operator++ (int)
 
me & operator+= (ncnt step)
 
RSquare operator* () override
 
std::remove_reference< R >::type operator-> ()
 
const std::remove_reference< R >::type operator-> () const BY_CONST_FUNC(operator->()) me &operator=(const me &rhs)
 
 operator nbool () const
 
nbool isReversed () const override
 
void rel () override
 
nbool isFrom (const tucontainable &it) const override
 
nbool isEnd () const override
 
ncnt next (ncnt step) override
 
ncnt prev (ncnt step) override
 
ncnt stepForward (ncnt step) override
 
ncnt stepBackward (ncnt step) override
 
get () override
 
template<typename E >
E * get ()
 
tucontainable< T, R, RSquare > * getContainer () override
 
const tucontainable< T, R, RSquare > *getContainer() const BY_CONST_FUNC(getContainer()) private nbool _onSame (const typeProvidable &rhs) const override
 
void _nextToMatchParamType (typename iterable::iterationType type)
 
ncnt _step (typename iterable::iterationType type, ncnt step)
 
ncnt _iterate (typename iterable::iterationType type, ncnt step)
 
virtual nbool isFrom (const tbicontainable &it) const=0
 
nbool isFrom (const tbicontainable *it) const BY_SIDE_FUNC(isFrom)
 
nbool isFrom (const tucontainable *it) const BY_SIDE_FUNC(isFrom)
 
virtual V * getVal ()=0
 
const V * getVal () const BY_CONST_FUNC(getVal()) virtual void setVal(const V &new Val)=0
 
void setVal (const V *it) BY_SIDE_FUNC(setVal)
 
virtual tbicontainable< K, V > * getContainer ()=0
 
virtual tucontainable< T, R, RSquare > * getContainer ()=0
 
virtual RSquare operator* ()=0
 
const RSquare operator* () const BY_CONST_FUNC(operator*()) virtual nbool isEnd() const=0
 
virtual nbool isFrom (const tbicontainable &it) const=0
 
nbool isFrom (const tbicontainable *it) const BY_SIDE_FUNC(isFrom)
 
nbool isFrom (const tucontainable *it) const BY_SIDE_FUNC(isFrom)
 
virtual R get ()=0
 
const R get () const BY_CONST_FUNC(get()) virtual nbool isFrom(const tucontainable &it) const=0
 
- Public Member Functions inherited from iterable
void setVal (const V *it) BY_SIDE_FUNC(setVal)
 
nbool isFrom (const tbicontainable *it) const BY_SIDE_FUNC(isFrom)
 
nbool isFrom (const tucontainable *it) const BY_SIDE_FUNC(isFrom)
 

Protected Attributes

tstr< iteration_iteration
 

Friends

template<typename K1 , typename V1 , typename defaultContainer1 >
class tnchain
 
template<typename K1 , typename V1 , typename TACTIC >
class tnmap
 
class iteration
 
template<typename E , typename TACTIC >
class tnarr
 
template<typename K , typename V , typename defaultContainer >
class tnchain
 

Additional Inherited Members

- Protected Types inherited from iterable
enum  iterationType {
  NEXT , PREV , FORWARD , BACKWARD ,
  NEXT , PREV , FORWARD , BACKWARD
}
 
enum  iterationType {
  NEXT , PREV , FORWARD , BACKWARD ,
  NEXT , PREV , FORWARD , BACKWARD
}
 

Detailed Description

Bidirectional iterator for key-value containers.

Unidirectional iterator for sequence containers.

Iterator implementation for bidirectional containers with key-value pair access. nested class of tbicontainable.hpp: this file allows to be refered by 'tbicontainable.hpp' file only.

Iterator implementation for unidirectional containers with element access. nested class of tucontainable.hpp: this file allows to be refered by 'tucontainable.hpp' file only.

Member Function Documentation

◆ _nextToMatchParamType()

void iter::_nextToMatchParamType ( typename iterable::iterationType type)

iterates until points to object of compatible type to given parameterized type T. iter should be alwyas stable state which points to object of proper type.

◆ get() [1/4]

template<typename E >
E * iter::get ( )
inlinevirtual

Implements iterable.

◆ get() [2/4]

const R iterable::get ( ) const &
virtual

Implements iterable.

◆ get() [3/4]

R iter::get ( )
overridevirtual

Implements iterable.

◆ get() [4/4]

virtual R iterable::get ( )
virtual

Implements iterable.

◆ getContainer() [1/4]

tbicontainable< K, V > * iter::getContainer ( )
overridevirtual

Implements iterable.

◆ getContainer() [2/4]

tucontainable< T, R, RSquare > * iter::getContainer ( )
overridevirtual

Implements iterable.

◆ getContainer() [3/4]

virtual tbicontainable< K, V > * iterable::getContainer ( )
virtual

Implements iterable.

◆ getContainer() [4/4]

virtual tucontainable< T, R, RSquare > * iterable::getContainer ( )
virtual

Implements iterable.

◆ getKey() [1/2]

template<typename E >
const E * iter::getKey ( ) const
inlinevirtual

Implements iterable.

◆ getKey() [2/2]

const K * iter::getKey ( ) const
overridevirtual

Implements iterable.

◆ getVal() [1/4]

template<typename E >
E * iter::getVal ( )
inlinevirtual

Implements iterable.

◆ getVal() [2/4]

const V * iterable::getVal ( ) const &
newvirtual

Implements iterable.

◆ getVal() [3/4]

V * iter::getVal ( )
overridevirtual

Implements iterable.

◆ getVal() [4/4]

virtual V * iterable::getVal ( )
virtual

Implements iterable.

◆ isEnd() [1/2]

nbool iter::isEnd ( ) const
overridevirtual

Implements iterable.

◆ isEnd() [2/2]

nbool iter::isEnd ( ) const
overridevirtual

Implements iterable.

◆ isFrom() [1/3]

nbool iter::isFrom ( const tbicontainable & it) const
overridevirtual

Implements iterable.

◆ isFrom() [2/3]

virtual nbool iterable::isFrom ( const tbicontainable & it) const
virtual

Implements iterable.

◆ isFrom() [3/3]

virtual nbool iterable::isFrom ( const tbicontainable & it) const
virtual

Implements iterable.

◆ isReversed() [1/2]

nbool iter::isReversed ( ) const
overridevirtual

Implements iterable.

◆ isReversed() [2/2]

nbool iter::isReversed ( ) const
overridevirtual

Implements iterable.

◆ next() [1/2]

ncnt iter::next ( ncnt step)
overridevirtual

proceed iteration obj to point next element by given step.

Parameters
stephow much it proceeds. positive value only.
Returns
how many step it proceeded. if it tries to proceed further when it reached to End() it won't be counted as returning value. it'll return '0' if it already reached to the end.

Reimplemented from iterable.

◆ next() [2/2]

ncnt iter::next ( ncnt step)
overridevirtual

proceed iteration obj to point next element by given step.

Parameters
stephow much it proceeds. positive value only.
Returns
how many step it proceeded. if it tries to proceed further when it reached to End() it won't be counted as returning value. it'll return '0' if it already reached to the end.

Reimplemented from iterable.

◆ operator*() [1/5]

V & iter::operator* ( )
virtual

Implements iterable.

◆ operator*() [2/5]

const V & iter::operator* ( ) const -> () const BY_CONST_FUNC(operator->()) me &operator=(const me &rhs)
virtual

Implements iterable.

◆ operator*() [3/5]

const RSquare iterable::operator* ( ) const
virtual

Implements iterable.

◆ operator*() [4/5]

RSquare iter::operator* ( )
overridevirtual

Implements iterable.

◆ operator*() [5/5]

virtual RSquare iterable::operator* ( )
virtual

Implements iterable.

◆ prev() [1/2]

ncnt iter::prev ( ncnt step)
overridevirtual

Reimplemented from iterable.

◆ prev() [2/2]

ncnt iter::prev ( ncnt step)
overridevirtual

Reimplemented from iterable.

◆ rel() [1/2]

void iter::rel ( )
overridevirtual

once rel(), an iterator enters a state where it can never be reused again.

Implements iterable.

◆ rel() [2/2]

void iter::rel ( )
overridevirtual

once rel(), an iterator enters a state where it can never be reused again.

Implements iterable.

◆ stepBackward() [1/2]

ncnt iter::stepBackward ( ncnt step)
overridevirtual

Implements iterable.

◆ stepBackward() [2/2]

ncnt iter::stepBackward ( ncnt step)
overridevirtual

Implements iterable.

◆ stepForward() [1/2]

ncnt iter::stepForward ( ncnt step)
overridevirtual

Implements iterable.

◆ stepForward() [2/2]

ncnt iter::stepForward ( ncnt step)
overridevirtual

Implements iterable.


The documentation for this class was generated from the following files:
to Top