Boost logo

Boost :

From: Rob Stewart (stewart_at_[hidden])
Date: 2004-04-12 13:58:08


From: =?iso-8859-1?Q?Joaqu=EDn=20M=AA=20L=F3pez=20Mu=F1oz?= <joaquin_at_[hidden]>
> Rob Stewart ha escrito:
> > From: "Thorsten Ottosen" <nesotto_at_[hidden]>
> > >
> > > typedef multi_indexed_container<
> > > employee,
> > > index::index_list<
> > ^^^^^^^^^^
> >
> > Why not just "index::list?"
>
> "list" seems too terse to me. It could lead the reader
> to think it is some sort of container (which is not). Take into
> account the namespace can be populated in the future
> with other containers derived from the main one.

I suppose in a given use case, a "using boost::index" (or "using
boost::multi_index") may be in force, so it would boil down to
just "list."

However, neither "index_list" nor "list" really says the right
thing. How about turning it around: list_index?

> > > 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.
>
> FWIW, I too prefer multi_index. boost::index seems way too
> generic a name for a library of multi-indexed containers (specially
> if we don't move inside boost::container.)
>
> To sum it up, my 2nd proposal was:
>
> namespace boost::multi_index, container boost::indexed_container
>
> and Thorten's, with your proposed refinements, is
>
> namespace boost::multi_index, container boost::multi_index_container
>
> So it all boils down to choosing between
> indexed_container/multi_index_container. No strong opinions

I agree with Thorsten's proposal. "multi_index_container" is
much clearer.

> from my part here. There's still the pending issue of whether
> to move into boost::container.

I think the argument that "a" container library has to be the
first one is valid, but was there sufficient consensus that such
a namespace was warranted? If there is consensus, your library
is a perfect candidate. If there isn't, it would be painful to
put your library in the "container" namespace only to rip it out
later. If you don't do it and folks agree it is worthwhile, then
yours would be just one more library to move into the namespace
at that time.

-- 
Rob Stewart                           stewart_at_[hidden]
Software Engineer                     http://www.sig.com
Susquehanna International Group, LLP  using std::disclaimer;

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk