Boost logo

Boost :

From: Pavol Droba (droba_at_[hidden])
Date: 2003-10-02 12:31:47


On Thu, Oct 02, 2003 at 10:00:03AM -0400, David Abrahams wrote:
> Pavol Droba <droba_at_[hidden]> writes:
>
> > I don't think the that new interface is useless. As I see, it is
> > important for the usage with MPL. However, I don't think that it
> > should be the only option.
>
> Why not?
>

Because of the reasons I have stated before. It is easier to specialize the old
interface for a new container, then the "new" one. It is just because,
everything is on the one place. I think, that the extensibility is
a very importart with regards to container_traits.
 
> > I would suggest to leave the old interface as the mainstrem and the
> > new one only as usefull option.
>
> Why? Is the "old interface" better in some way?

It is not better. It is different. Currently container_traits facility
consists of two layers:

1. Container properties resolution
   This is mainly container_traits class with all helpers,selectors and
   specializations ...
        Purpose of this layer is to correctly classify the given container type

2. Access
        Here are free-standing functions like begin(), end() and etc.
        "new" interface should belong here too.
        Purpose is to access to properties of the resolution part
        in some reasonable manner.

Given this structure, "new" interface is just a part of layer 2. This is the
presentation layer, but it should be documented so. Core should be always
the layer 1 ( and the "old" interface ). It is very importatn due to extensibility
reasons.

Pavol.


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