Alias IntrusivePtr.opUnary

Operator *, same as method 'get'.

struct IntrusivePtr
{
  // ...
  alias opUnary(string op : "*") = get;
  // ...
}

Examples

static struct Foo{
    ControlBlock!(int, int) c;
    int i;
    alias i this;

    this(int i)pure nothrow @safe @nogc{
        this.i = i;
    }
}

IntrusivePtr!Foo x = IntrusivePtr!Foo.make(123);
assert(*x == 123);
((*x).i = 321);
assert(*x == 321);
const y = x;
assert(*y == 321);
assert(*x == 321);
static assert(is(typeof(*y) == const Foo));