|
Boost : |
From: Chuck Messenger (chuckm_at_[hidden])
Date: 2003-05-27 16:48:00
Larry Evans wrote:
> Chuck Messenger wrote:
> [snip]
>
>> In general, the abstraction is: you have a group of intra-referential
>> objects. When any of the group is constructed, they are all
>> constructed (so that the master count is temporarily > 1), and the
>> master count is reset to 1. When the master count goes to 0, the
>> group is destructed. Hence, the group only remains alive as long as
>> there are any external references (and as long as the intra-group
>> references remain static).
>>
>> Could a standard smart pointer be designed to encapsulate this
>> abstraction? Hmmm....
>
> Just FYI, this "abstraction" is the basic idea behind recoverying
> cycles in:
>
>
> http://www.cs.kent.ac.uk/people/staff/rej/cgi-bin/searchbib?pattern=Cyclic+reference+counting+with+lazy+mark-scan.
>
>
> Chrisopher's altorithm:
>
>
> http://www.cs.kent.ac.uk/people/staff/rej/cgi-bin/searchbib?pattern=Christopher+Reference+count+garbage+collection
>
>
> is basically the same, except the "group" is the whole heap. Christopher's
> is the basis of Colvin's cyclic_ptr:
>
> http://groups.yahoo.com/group/boost/files/smart_pointers/cyclic_ptr/
Thanks -- it looks very interesting.
I did some googling, to see what its status is. Seems it hasn't been
mentioned much since the flurry of activity in Jan-May 2001. Pity,
since if it works "as advertised", it seems pretty useful.
- Chuck Messenger
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk