У меня есть класс контейнера (называемый Atom), в котором я хочу хранить объекты типа Term. Многие конструкторы контейнеров STL имеют форму Container(Iterator first, Iterator last)
для инициализации контейнера с некоторым набором элементов.
ТеперьЯ хотел бы иметь возможность использовать эту форму для моего класса Atom, но я не уверен, как отсоединить итератор от его контейнерного класса.Например, в настоящее время у меня есть:
class Atom {
public:
Atom(std::string str,
std::vector<Term>::const_iterator start,
std::vector<Term>::const_iterator end);
Это разрешены только векторные итераторы.Как я могу обобщить тип итератора, который я использую?