
From: "Thorsten Ottosen" <nesotto@cs.auc.dk>
"JOAQUIN LOPEZ MU?Z" <joaquin@tid.es> wrote in message news:31c83531e9c8.31e9c831c835@tid.es...
namespace boost{ namespace multi_index{ template<...> class indexed_container; } using multi_index::indexed_container; }
I think multi_indexed_container (or multi_index_container) would be a better name. A long name doesn't hurt here since the container will take some lines to setup with typedef etc anyway.
Then the class could be in the boost namespace and there could be a helper namespace, index, which stored the index_list, unique etc.
This would make the setup of the container look quite good IMO:
typedef multi_indexed_container< employee, index::index_list< ^^^^^^^^^^
Why not just "index::list?"
index::ordered_unique<index::identity<employee> >, index::ordered_non_unique<index::member<employee,int,&employee:age> >, index::sequenced<>
employee_set;
Before I wasn't sure where member, identity etc came from.
It was the same namespace before, but I very much like your suggestion. The lingering question in my mind is whether your "index" namespace should be called "multi_index." That would tie the namespace to the class better and means that the library could be called Boost.MultiIndex without leading to confusion. -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;