Estoy intentando crear un iterador que solo puede desreferenciar a tipos de valores reales, no a referencias. Esto es posible usando boost::iterator_facade
, o me requiere tener valores que pueden ser devueltos por dirección \ referencia.boost iterator facade y la función dereference()
Para ser más specfic, mi iterador devuelve un std::pair
de referencias, lo que significa que mis iteradores value_type
no se almacena en cualquier lugar, pero crean sobre la marcha en la eliminación de referencias (como std::map::iterator
).
Gracias por esta respuesta, realmente me ayudó. Tengo una pregunta, sin embargo, antes de especificar el argumento de la plantilla de referencia, intenté devolver el valor. Esto compilado pero me dio resultados muy extraños, como punteros en mi clase que se vuelven nulos en tiempos extraños. Supongo que mi pregunta es, ¿por qué compiló? – FlamFace