
Daniel James wrote:
On Fri, 16 Mar 2007 16:20:51 -0000, Ion Gaztañaga <igaztanaga@gmail.com> 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