Declare una función que acepte el iterador genérico

Dado este código, ¿es posible cambiardumpStrings() para poder iterar sobre cualquier contenedor destring, como decir unlist<string> ?

#include <vector>
#include <string>
#include <ostream>
#include <iostream>

using namespace std;

void dumpStrings(vector<string>::iterator it, vector<string>::iterator end)
{
    while (it != end) {
        cout << *it++ << endl;
    }
}

int main()
{
    vector<string> strVector;
    strVector.push_back("Hello");
    strVector.push_back("World");

    dumpStrings(strVector.begin(), strVector.end());
    return 0;
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta