|
|
@@ -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));
|
|
|
}
|
|
|
}
|
|
|
|