Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-01-08 11:48:25


----- Original Message -----
From: "Carl Daniel" <cpdaniel_at_[hidden]>

> Dave - what were the issues with the version you & John Potter worked on
several months ago?

1. The design was very general, and thus hard to get right. We were working
with a framework of adaptors that included an adaptor to add associativity
to any sequence container, and an adaptor to add "invisible indirection" to
any container (i.e. transparently holding elements by some (smart) pointer).
So, we wanted to be able to say indirect<associative<deque<Foo> > > or
associative<list<Foo> > (binary searching arguably makes sense on list).

2. Iterator Adaptors were still immature and hard to use. These were
essential for the indirect container adaptor.

3. We often had trouble communicating our ideas to one another.

> Why was that development
> dropped?

John and I both got busy, and the simple associative vector I was using was
sufficient for my needs at the time.

> I think there's sufficient justification for both the direct and indirect
solutions - sometimes iterator stability is
> important. Sometimes best performance is what's required.

We have three known designs:

simple - direct containment, no stability, fast/small iterators

indirect - held by some kind of pointer, pointer/reference stability, small
iterators w/fast traversal

"Mike+Corwin" - direct containment with changelog, iterator stability,
larger slower iterators

I think I got the "Mike+Corwin" design right; please correct me otherwise.

-Dave


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