51 using U = decltype((*((T*)
nullptr))->begin());
52 using child_value_type =
typename std::iterator_traits<U>::value_type;
56 : parent(parent_), parent_end(parent_end_), child(parent->begin()) {
60 const child_value_type& operator*()
const {
64 const child_value_type* operator->()
const {
74 bool operator==(
const __self& other)
const {
77 if (parent == parent_end && parent == other.parent) {
80 return (parent == other.parent) && (child == other.child);
83 bool operator!=(
const __self& other)
const {
84 return !(*
this == other);
88 void seekChildForward() {
89 if (parent == parent_end) {
92 while (child == parent->end()) {
94 if (parent == parent_end) {
97 child = parent->begin();
Definition: dyn_array.h:337
Definition: iterator.h:49