IntrusivePtr.weakCount

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.

struct IntrusivePtr
@property const scope nothrow @safe @nogc
weakCount
(
this This
)
()

Examples

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);

Meta