weak_ptr alternative

aliak something at something.com
Sun Aug 5 20:57:32 UTC 2018


On Sunday, 5 August 2018 at 20:10:49 UTC, Kamil Koczurek wrote:
> Is there a way to keep track of objects without owning them? 
> That is, could I have a smart pointer that behaves somewhat 
> like this:
>
> WeakPtr!Class wptr = getSomeInstance();
> auto obj = wptr.peek; //[1]
> if(obj !is null) {
>   obj.stuff();
> }
>
> [1]: If wptr points to something that is still reachable from 
> somewhere else (and wasn't yet marked for collection by GC), 
> .peek would return a normal reference of type Class. OTOH, when 
> no active reference is present it should return null.

Not sure if there's anything in the language or standard library, 
but there this:

https://github.com/w0rp/dstruct/blob/master/source/dstruct/weak_reference.d

Which admittedly I have not tested.


More information about the Digitalmars-d-learn mailing list