
-----Original Message----- From: christian.engstrom@glindra.org [mailto:christian.engstrom@glindra.org] Sent: Thursday, February 26, 2004 4:40 PM To: boost@lists.boost.org Subject: [boost] Proxy indirect container adaptor: 4 claims
--Is there a way to define a package for indirect containers, so that one can take a program that uses a direct container, and convert it to using an indirect container just by changing the definition of the container type?
You could define a container adaptor that takes a container, and modifies the begin()/end() iterators to return indirect iterators to the original begin()/end(). Then instead of: typedef some_container container_type; you would have: typedef adaptor<some_container> container_type;
--Would it be any useful to be able to switch containers like that?
The problem here is of course that "usefulness" is very much in the eye of the beholder, so all that I can say with certainty is that I personally would find it quite useful, and that I don't see why other people as well shouldn't sometimes find themselves in situations when they would want to change container types easily. After all, isn't one of the great benefits of the STL containers that they have (reasonably) uniform interfaces, so that it's easy to switch between the different container types, often by just changing a typedef?
You might want to read "Beware the Illusion of container-independent code", by Scott Meyers in his book: http://www.awprofessional.com/isapi/content/images/0201749629/items/item2-2.... The full book is at: http://www.awprofessional.com/catalog/product.asp?product_id={AA4735AF-4407-4011-B7D3-0C924DFA675D%7d