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]>
>> Ok. Thanks for your comment. I will change the introduction to something
>> more exciting, based on the performance benefits of intrusive
> 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 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:
> I think your library could supply a good base for this sort of thing.
> 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).
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk