manuel-freire/edalib — pull request #3 by Manu343726 (2014-09-26 12:07:26+00:00)
Title: Non-intrusive container adapters

Instead of polluting the container code, which is what students and teachers are going to review, the `edatocpp_container_adapter` template adapts an edalib container to C++ directly, only passing the container to be adapted:

``` cpp
edatocpp_container_adapter> cpp_ready_vector;

std::copy( std::istream_iterator( std::cin ) , std::istream_iterator`. *This could be discussed, is not strictly necessary. Even if you decide to reject the change, please note that a key should always be const*.
- **Template-template parameters instead of types for underlying container parameters**: This was for being uniform across the hole library only. If you have a container adapter `A`, instancing it as `A>` has no much sense, but its allowed by the previous implementation. What I propose expects a template instead of a type, so the instantiation becomes `A`, much more clear. I'm aware about the little C++ skills of both teachers and students, so the library defines macros such as `LINEAR_CONTAINER`, `CONTAINER_ADAPTER`, etc hiding the ugly template-template parameters with a name that explains perfectly whats being passed as parameter.