
Boost Developers, Let me start by saying that I love the Boost Libraries. I use them frequently. Most of the time, when I need some unique data structure in my code, Boost can solve my problems. I saw the recent release of the Container library and I love the idea of the flat_set/map structures. In my code, I require a data structure that has fast associative lookup (like an unordered_set). However, this data structure should preserve the order of element insertion. In other words, the data structure would be similar to the flat_set/map structures, but would preserve order of insertion instead of relying on the < operator or a Comparable function object. Right now, I am calling this structure a hashed_vector. I am aware of Boost.Multi-Index, but this library is very general purpose and cumbersome to use to implement a hashed_vector. Ideally the structure would have an identical interface to the std::vector class, but with a much speedier find member function. Right now I am creating a wrapper class for multi_index_container to implement the hashed_vector, but hopefully a more direct implementation could be added to the Boost Libraries. I am sharing this idea with all of you because I want to see if you think such a structure is worth including in the libraries and if anyone is interested in implementing it. I would love to implement it myself, but I am currently a full-time graduate student and my experience with template programming is laughable when considering the amount currently used in the Boost Libraries. Looking forward to your feedback! Sam