Hola, según he estado buscando hay varias categorias de iteradores
Nombre
Operaciones
Entrada
∗, −> (ambos sólo para lectura), ++, == y != Salida
∗ (sólo para escritura) y ++ Monodireccionales
Las de los iteradores de entrada y de salida Bidireccionales
Las de los iteradores monodireccionales más −− Acceso directo
Las de los iteradores bidireccionales más [] , <, <=, >, >=, + (con iter. y entero) y − (con iter. y entero, o con dos iter.)
y me gustaría saber cómo se diferencian unos de otros ¿sólo por la clase de operaciones que realiza o hay algo más?
Es que tengo esta función
Código C++:
Ver originaltemplate <typename I>
void ordenacion_intercambio (I inicio, I fin){
for (I i = inicio; i != fin; ++i){
for (I j = i; j != fin; ++j){
if (*j < *i){
swap (*j, *i); //Intercambia los elementos
}
}
}
}
y yo pienso que sus iteradores serian monodireccionales ya que solo usan el incremento ++, pero he leido que al soportar listas seria bidireccional.
La verdad es que con este tema no me aclaro y me gustaria que alguien pudiese explicarmelo porque ando muy perdido.
Muchas gracias.