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