Boost logo

Boost :

From: cppljevans_at_[hidden]
Date: 2003-10-07 06:27:09


On 10/06/2003 11:19 PM, Philippe A. Bouchard wrote:
> cppljevans_at_[hidden] wrote:
>
> [...]
>
>
>>give !same_group(a,b), how does:
>> a = b;
>>
>>affect the result of same_group(a,b)?
>
>
> This is called a group "merge"; * a.m_ind will get destructed and will point
> to * b.m_ind.
Sorry to keep pestering, but I'm still unsure...
Wouldn't other member's of a's original group then be pointing to a
destructed *m_ind. Maybe you mean "if *m_ind==0"? But if a joins
b's group, this means a and b are in a cycle? Or maybe you meant
something beside "are in a cycle" in your definition of
a group in the 10/06/2003 03:32 PM,CST post:
> Group: group of pointees on the heap refering to themselves.

Jone & Lin's _Garbage Collection_, p.71 at:

  http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html

describes something that, at least on the surface, sounds
somewhat similar:

   If cycles can only be created in predicatable
   circumstances, or restrictions are placed on
   programming style, it may be possible to treat
   cycles as a whole, i.e. with a single reference
   count, and delete it automically with the count
   drops to zero.

You might check those references out.


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