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