¿Existe una forma estándar de convertir del contenedor <Type1> al contenedor <Type2>?

Tengo dos clasesA yB, y existe un operador de conversión implícito para ir de uno a otro, de modo que:

A a;
B b;
b = a; // Works

¿Hay una forma estándar de convertir unstd::list<A> a unstd::list<B> ? (O incluso destd::vector<A> a unstd::list<B>)

Sé que puedo iterar a través de la lista y construir el segundo elemento por elemento, pero me pregunto si hay una solución más elegante.

DesafortunadamenteNo puedo usarboost pero por curiosidad como una pregunta extra, si boost puede manejar esto, me encantaría saber cómo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta