Ottimo; un consiglio ulteriore: dato che di fatto in questo codice ti basta che si tratti di un iteratore in grado di avanzare (non ti servono altre funzionalità), chiama il tipo generico qualcosa come "ForwardIter": risulterà subito chiaro che è sufficiente che l'iteratore passato implementi l'operatore ++ (oltre naturalmente all'operator *).