13 super(isReversed), _n(isReversed ? own.len() - 1 - n : n), _own(own) {}
15 using super::operator*;
17 T& operator*()
override {
return *get(); }
20 nbool isEnd()
const override {
return !_own.in(_n); }
22 void rel()
override { _n = this->isReversed() ? -1 : _own.len(); }
28 WHEN(step <= 0) .ret(0);
29 WHEN(isEnd()) .ret(0);
31 int toLast = len - 1 - _n;
41 ncnt stepBackward(ncnt step)
override {
42 WHEN(step <= 0) .ret(0);
43 WHEN(isEnd()) .ret(0);
57 WHEN(isEnd()) .ret(
nullptr);
61 using super::getContainer;
63 tucontainable<T>* getContainer()
override {
return &_own; }
66 nbool _onSame(
const typeProvidable& rhs)
const override {
67 const me& cast = (
const me&) rhs;
68 return this->isFrom(cast.getContainer()) && _n == cast._n;
Definition: biteration.hpp:5
Definition: narrIteration.hpp:7
ncnt stepForward(ncnt step) override
Definition: narrIteration.hpp:27