Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2007-03-17 11:18:59


Daniel James wrote:
> On Fri, 16 Mar 2007 16:20:51 -0000, Ion Gaztañaga <igaztanaga_at_[hidden]>
> wrote:
>
>> Ok. Thanks for your comment. I will change the introduction to something
>> more exciting, based on the performance benefits of intrusive
>> containers.
>
> I think you could emphasize the improved exception guarantees, they're a
> big advantage over STL containers. Also, you only mention that
> non-copyable/assignable objects can be stored in intrusive containers
> under the downsides.

Yes. I think these 3 reasons can be a good summary of the advantages of
intrusive containers.

> Intrusive data structures can also be useful when defining the relations
> between classes, although I think that's out of scope for your library.

For the moment, they are out of the library. But that can be a good idea
for a new library built above Intrusive.

> But at the very least, an object should know when it's the member of an
> intrusive container (hopefully?).

If you use what Intrusive defines as "safe hooks" an object always knows
if it's inserted in a container. Boost.Intrusive containers put the hook
in a safe-state after erasing the object from the container.

> A couple of old Dr. Dobbs articles were
> about this:

Interesting.

> I think your library could supply a good base for this sort of thing.

Yep!

> P.S. I'll review the library in the next few days.

Waiting for your comments. I would like to know if you consider
Boost.Intrusive complete enough to be a valuable tool to build
non-intrusive containers (like STL containers or TR1 unordered containers).

Regards,

Ion


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