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