Re: [boost] Boost.Bimap - Informal Review Request

Hello Matias Capeletto, The library is exactly what I was finding several days ago. The first impression it gives me is that it's quite well documented. Thanks. Max
Hello,
Boost.Bimap, my SoC project is ready to confront the list. The project is being mentored by Joaqu�n L�pez Mu�oz. I want to publicly thank him.
With Boost.Bimap you can create associative containers where both types can be used as key. You can think a bimap<X,Y> as a merge of a std::map<X,Y> and a std::map<Y,X>. The learning curve of bimap is almost zero if you know how to use standard containers.
The original project that encompasses the creation of a one to one bidirectional map has been extended into a framework that extends the standard mapping scheme. A bimap is a very flexible and powerful container, but the interface of the library allows a user to use it out of the box.
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?
* 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)
* Do you like the extended mapping framework? Do you think it is intuitive for someone with a stl background?
* 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?
* 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?
Looking forward to getting your feedback,
Matias Capeletto _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (1)
-
Wang Weiwei