Reference Counting Template

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Dec 13 17:49:20 PST 2009


dsimcha wrote:
> I'm starting to think it would be both useful and feasible to have a general
> reference counting template struct in Phobos:
> 
> struct RefCounted(T, alias onZero) {
>     // Implementation
> }
> 
> Basically, you would provide it with a type T that it's supposed to count
> references to and an action (a function that takes a T and returns void)
> that's supposed to happen when the amount of references drop to zero.
> 
> Reference counting is a pretty useful general technique for managing resources
> that can't have cycles and I think it makes sense to have a generic template
> for it instead of having people reimplement the same code over and over for
> file handles, large arrays of primitives that they allocate on the C heap and
> want freed deterministically, database connections, etc.  Does this sound
> worthwhile?

Sounds great.

Andrei



More information about the Digitalmars-d mailing list