
Matias Capeletto wrote:
The project information, docs and sources can be found here: http://cablemodem.fibertel.com.ar/mcape/oss/projects/mc_projects/boost_proje...
I will be very pleased if you can make some spare time to review the interface, design, implementation and documentation of this library and comment on it. Because it is better to go clean from the beginning, these are some of the questions that will surely rise a discussion.
* Do you like the usage interface?
Yes, absolutely.
* In relation with Boost.MultiIndex, Do you think that it is worth to have a bidirectional map library in Boost, that trades generality for a better specialized user interface? (Because this library was encouraged by the boost mentors the answer will surely be yes, but it is a nice discussion to have)
Yes, bimap is a lot simpler to use when appropriate.
* Do you like the extended mapping framework? Do you think it is intuitive for someone with a stl background?
Yes.
* What do you think of the design of operator[]? Is there a better way to be coherent with the stl that does not imply throwing exceptions?
I don't follow, can you explain or link to the relevant part of the docs?
* What is your evaluation of the implementation? I am very interested in your reaction to the zero-overhead achieved by the almost-standard mutant_relation class, and the standard compliant label that this library acquires by including the standard_relation class. A big part of the library implementation is ContainerAdaptor. Do you deem Boost.ContainerAdaptor worth eventually proposing to Boost?
Where is container_adapter described? If I ask for a bimap<list_of<A>, B> do I get std::list complexity guarentees when accessing bimap.left, or does it just look like a list, but not really behave like one? That aside, it looks like a very successful SOC to me, and to be a worthy addition to Boost. Very nice looking docs too BTW! Many thanks, John.