У меня есть класс TContainer, который представляет собой совокупность нескольких указателей stl-коллекций для класса TItems.
Мне нужно создать Iterator для перемещения элементов во всех коллекциях моего класса TContainer, абстрагируя клиента от внутренних действий.
Что было бы хорошим способом сделать это? Должен ли я разбивать класс, который расширяет итератор (если да, какой класс итератора я должен продлить), должен ли я создать класс итератора, который является совокупностью итераторов?
Мне нужен только Итератор FORWARD_ONLY.
I.E, Если это мой контейнер:
typedef std::vector <TItem*> ItemVector;
class TContainer {
std::vector <ItemVector *> m_Items;
};
Что было бы хорошим Iterator для перемещения всех элементов, содержащихся в векторах переменной-члена m_Items.