Hi again, Discussing a library in Boost is a most exhausting task, but a most rewarding one too. After suggestions from Fernando, Beman, Jeremy and others, I've made many significant improvements to multiindex_set, now renamed to indexed_set. You can download it, along with a test suite and preliminary documentation, at
http://groups.yahoo.com/group/boost/files/indexed_set.zip The following changes have been made: * Changed name to indexed_set, as multiindex_set sounded a little odd. I prefer this over indexed_table to prevent users from believing that the library is a full-blown relational framework. * Utility classes live into boost::indexed_sets. I've followed the convention of adding an 's' to the namespace after som other libraries here in Boost, like Boost.Tuple and Boost.Signal. As of now, indexed_set belongs in boost::indexed_sets, but I guess it'll be lifted (by means of using) to namespace boost in the future. * The specification of an indexed_set changed, so that now a type list of index traits is provided. This eliminates the need for the additional unique_indices parameter (now each index is explicitly named as "unique" or "non_unique") and provides a beter roadmap to future integration of alternative index policies (hashing, for instance.) * Apart from update(), a modify() method is provided following the schema proposed by Fernando. * Adopted a key-extraction approach in the specification of the indices composing an indexed_set. Accordingly, less_by<> has been dropped in favor of a new utility class named member<>. After making the change, I have to admit it is conceptually simpler to understand and has some second-order advantages (for instance, now each index have different key_type and value_type typedefs, resembling a std::map in this respect). * Documentation updated. Still far from being a complete reference, but I guess I'll only make that effort if the library goes into reviewing stage. I hope it is clear enough to introduce the reader into the basic design issues. Compiled under MSVC 6.5 and gcc3.2 (cygwin). I hope these changes meet most demands posed by Boosters wrt the library. There are some minor issues pending, like tagged indices, which I plan to collect feedback from before implementing them. Suggestions are most welcome. If this gain momentum I could propose it for preformal review by the end of this week or the next. Regards, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost