Bläddra i källkod

Changing constructors in assign() for recursive_iterator to use make_end_aware_iterator().

Samuel Jaffe 9 år sedan
förälder
incheckning
1d77eb0825
1 ändrade filer med 4 tillägg och 4 borttagningar
  1. 4 4
      recursive_iterator.hpp

+ 4 - 4
recursive_iterator.hpp

@@ -85,14 +85,14 @@ namespace iterator {
         layer & self = static_cast<layer&>(*this);
         next_layer::next();
         while ( next_layer::done() && !(++self).done() ) {
-          next_layer::assign({ std::begin(*self), std::end(*self) });
+          next_layer::assign(make_end_aware_iterator(*self));
         }
       }
       
       void assign(layer v) {
         static_cast<layer&>(*this) = v;
         if (!v.done()) {
-          next_layer::assign({ std::begin(*v), std::end(*v) });
+          next_layer::assign(make_end_aware_iterator(*v));
         }
       }
       
@@ -147,14 +147,14 @@ namespace iterator {
         layer & self = static_cast<layer&>(*this);
         next_layer::next();
         while ( next_layer::done() && !(++self).done() ) {
-          next_layer::assign({ std::begin(self->second), std::end(self->second) });
+          next_layer::assign(make_end_aware_iterator(self->second));
         }
       }
       
       void assign(layer v) {
         static_cast<layer&>(*this) = v;
         if ( !v.done() ) {
-          next_layer::assign({ std::begin(v->second), std::end(v->second) });
+          next_layer::assign(make_end_aware_iterator(v->second));
         }
       }