Existen envoltorios estándares (de hecho) estándar (de refuerzo) alrededor de algoritmos estándar que funcionan con contenedores que definen inicio y finalización. Te voy a enseñar lo que quiero decir con el código:Envoltorios de algoritmo STL estándar/de facto C++
// instead of specifying begin and end
std::copy(vector.begin(), vector.end(), output);
// write as
xxx::copy(vector, output);
Sé que se puede escribir fácilmente, pero estoy en busca específicamente para algo omnipresente. Gracias.
Una pregunta excelente por cierto. Siempre he encontrado bastante desordenada la idea de basar los algoritmos en los iteradores ... 'std :: copy (input.begin(), input.end(), std :: back_inserter (output));' eso realmente me duele los ojos ... Desafortunadamente, cada vez que se trata de modificar la estructura de los elementos del contenedor subyacente (agregar/eliminar), entonces 'Boost.Range' no funciona:/ –