neighbor_view_iterator& operator--() { --view_.partner_index(); // Because view_.partner_first_index() have to access neighbor_list, one has to check its validity while (view_.source() > 0 and view_.partner_index() < view_.partner_first_index()) --view_.source(); return *this; }
neighbor_view_iterator& operator++() { ++view_.partner_index(); // Because view_.partner_last_index() have to access neighbor_list, one has to check its validity while (view_.source()+1 < view_.partner_first_indices_size() and view_.partner_index() >= view_.partner_last_index()) ++view_.source(); return *this; }