Как бы я определил функцию, которая принимает в качестве ввода итератор по любому типу контейнера STL, но только для тех, которые относятся к конкретному шаблонизированному типу. Например:
Любой итератор формы std::list<Unit*>::iterator или std::vector<Unit*>::iterator
Я бы просто определил функцию для принятия std::list<Unit*>::iterator, но если мы переключимся на другой контейнер STL, я не хочу менять свой код.
Есть ли способ сделать это с помощью шаблонов или иначе?