Struct Ref

Reference counting support.

struct Ref(T)
  
if (is(T : RefCountedObject));

Implemented for case when T is RefCountedObject. Similar to shared_ptr in C++. Allows to share object, destroying it when no more references left.

Useful for automatic destroy of objects.

Constructors

NameDescription
this (data) Init from T

Fields

TypeNameDescription
T
_data

Properties

TypeNameDescription
T
get[get] Returns object reference (null if not assigned)
const(T)
get[get] Returns const reference from const object
bool
isNull[get] Returns true if object is not assigned
size_t
refCount[get] Returns counter of references

Methods

NameDescription
addRef () Increment reference counter
clear () Clear reference
opAssign (data) Assign from another refcount by reference
opAssign (data) Assign from another refcount by value
opAssign (data) Assign object
releaseRef () Decrement reference counter, destroy object if no more references left