Gregory Colvin wrote:
Thanks, but your description of cyclic_ptr is pretty far off the mark.

Sorry -- hopefully you'll forgive my ignorance. I'm just throwing out what I understand to be the case, in the hopes that someone (such as yourself) would set me straight...


It does not maintain a global map, and copying cyclic_ptr cost the same
as copying shared_ptr.

OK, I'll have to review the old messages again. I thought someone had said cyclic_ptr used a global map. Sorry. I suppose better yet would be for me to study your actual *code*...


Do you do a raw scan of memory, like sp_collector, then? (i.e. not perfect discovery)

The special assignment mode is used only during
the mark phase of a collection, and costs more or less the same as any
other discovery method.

Suppose I have the structure:


    struct Image {
        char huge_image[ONE_ZILLION];
        cyclic_ptr<whatever> ptr;
    };

As I understand it, in order to discover 'ptr', you'd invoke operator=() on each Image structure you came to. Correct, or incorrect?


- Chuck Messenger



_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to