c ++ 11 sintaxe foreach e iterador personalizado
Estou escrevendo um iterador para um contêiner que está sendo usado no lugar de um contêiner STL. Atualmente, o contêiner STL está sendo usado em muitos lugares com o c ++ 11 sintaxe foreach por exemplo:for(auto &x: C)
. Precisamos atualizar o código para usar uma classe personalizada que agrupa o contêiner STL:
template< typename Type>
class SomeSortedContainer{
std::vector<typename Type> m_data; //we wish to iterate over this
//container implementation code
};
class SomeSortedContainerIterator{
//iterator code
};
Como obtenho automaticamente o uso do iterador correto para o contêiner personalizado, para que o código possa ser chamado da seguinte maneir
SomeSortedContainer C;
for(auto &x : C){
//do something with x...
}
m geral, o que é necessário para garantir que o auto use o iterador correto para uma class