In begin() e end() potresti modificare il puntatore interno di iterator o fornendo un costruttore che prende un puntatore a value_type come argomento o puoi dichiarare sparse_matrix friend
rispetto a iterator.