11 super(isReversed), _n(isReversed ? own.len() - 1 - n : n), _own(own) {}
13 using super::operator*;
15 nInt operator*()
override {
return get(); }
18 nbool isEnd()
const override {
return !_own.in(_n); }
20 void rel()
override { _n = this->isReversed() ? -1 : _own.len(); }
26 WHEN(step <= 0) .ret(0);
27 WHEN(isEnd()) .ret(0);
29 int toLast = len - 1 - _n;
39 ncnt stepBackward(ncnt step)
override {
40 WHEN(step <= 0) .ret(0);
41 WHEN(isEnd()) .ret(0);
55 WHEN(isEnd()) .ret(nInt(0));
59 using super::getContainer;
61 tucontainable<nInt, nInt, nInt>* getContainer()
override {
return &_own; }
64 nbool _onSame(
const typeProvidable& rhs)
const override {
65 const me& cast = (
const me&) rhs;
66 return this->isFrom(cast.getContainer()) && _n == cast._n;
Definition: biteration.hpp:5
Definition: nseqIteration.hpp:5
ncnt stepForward(ncnt step) override
Definition: nseqIteration.hpp:25