static struct Foo{ ControlBlock!(int, int) c; int i; this(int i)pure nothrow @safe @nogc{ this.i = i; } } IntrusivePtr!Foo x = null; assert(x.useCount == 0); assert(x.weakCount == 0); x = IntrusivePtr!Foo.make(123); assert(x.useCount == 1); assert(x.weakCount == 0); auto w = x.weak(); assert(x.useCount == 1); assert(x.weakCount == 1);
Returns the number of different IntrusivePtr.WeakType instances
Returns the number of different IntrusivePtr.WeakType instances (this included) managing the current object or 0 if there is no managed object.