Iterator(Container& in_container, std::size_t n)
     : container_p{&in_container}, indices{n} {
     if (n == 0) {
         this->steps = COMPLETE;
         return;
     }
     size_t inc = 0;
     for (auto& iter : this->indices.get()) {
         auto it = std::begin(*this->container_p);
         dumb_advance(it, std::end(*this->container_p), inc);
         if (it != std::end(*this->container_p)) {
             iter = it;
             ++inc;
         } else {
             this->steps = COMPLETE;
             break;
         }
     }
 }
Beispiel #2
0
 ForwardIt dumb_next(
     ForwardIt it, const ForwardIt& end, Distance distance = 1) {
   dumb_advance(it, end, distance);
   return it;
 }
Beispiel #3
0
 ForwardIt dumb_next(ForwardIt it, Distance distance = 1) {
   dumb_advance(it, distance);
   return it;
 }