Boost logo

Boost :

From: Daryle Walker (dwalker07_at_[hidden])
Date: 2003-07-16 16:56:57


On Monday, July 14, 2003, at 9:12 PM, Joaquín M López Muñoz wrote:

> Well, to sum it up, these are the public names of the library:
>
> 0 multiindex_set (haven't decided on the final name, still doubting
> between indexed_set and indexed_table).
> 1 swap, equality and comparison operators
> 2 index_type
> 3 get (function to retrieve refs to an index of a given multiindex_set)
> 4 iterator_type
> 5 const_iterator_type
> 6 project (function to convert between different indices's iterators)
> 7 index_list (a type list for specifying the indices composing a
> multiindex_set)
> 8 unique and non_unique (index traits classes that go into the
> index_list)
>
> get() and project() are sufficiently well specified that they won't
> clash with similar overloads belonging to namespace boost. But the
> rest of names, which are classes instead of functions, are
> problematic: their names are too general to be safely put into
> namespace boost without risk of collision. So I guess some namespace
> have to be set up for them. Besides, there's the problem of the yet to
> be written member<> utility (that you're already familiar with). This
> clearly is a very general utility that has no particular ties to
> multiindex_set, so I don't know where it should go.
>
> So the two problems are:
>
> * Where to put 2,4,5,7, and 8? For known reasons,
> boost::multiindex_set is not a good candidate (problems with having a
> class and a namespace named the same).
> * Where to put member<>?

2. 4. 5. 7. Couldn't these be internal typedef's in the multi-index set
class? (If you meant the original definitions, I don't know since I
don't have a copy of your code right now.)

8. Could go with the original definition of [7].

member: Could go with the other functional stuff in Boost, but I don't
think there is a unified domain for that stuff right now. The
functional stuff is spread all over the top-level namespace, except for
Boost.Lambda (which uses its own exclusive sub-namespaces).

Daryle


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