2011-07-04 20 views
7

Estoy aprendiendo a usar iterator_facade para ocultar algunos ejemplos de implementación de iterador. En mi caso de uso actual, estoy envolviendo otro contenedor (del código .NET, en realidad), así que necesito el begin(), end(), typedefs, etc. Como mínimo, quiero que el tipo resultante funcione con BOOST_FOREACH. ¿Hay algo conveniente en el impulso para simplificar eso?¿Hay una fachada de contenedor en Boost?

Respuesta

3

Me gustaría envolver un par de iteradores desde el recipiente dado en un boost::iterator_range de la biblioteca Boost.Range.

+0

¿Cuál es el contenedor "dada"? El que estoy envolviendo es un contenedor .NET. –

+0

Eso no ayuda con todas las cosas 'begin',' end', 'typedef's n. Eche un vistazo a 'iterator_facade', facilita la implementación de los iteradores * en gran medida *. – Xeo

+0

@Xeo: la sinopsis de la clase vinculada muestra claramente las implementaciones de dichos typedefs, así como 'begin' y' end'. – ildjarn

Cuestiones relacionadas