compile time check that T can be ref counted atomically.
Counts the number of references of a single object.
Dispose GC allocated associative array of resources
Dispose GC allocated array of resources
Dispose and nullify a single object, that might be null
Decreases the reference count of a single object without disposing it. Use this to move an object out of a scope (typically return at the end of a return function)
Locks a single object.
Reinitialises a GC allocated associative array of struct. Useful if the struct release resource in its destructor.
Reinitialises a GC allocated array of struct. Useful if the struct release resource in its destructor.
Reinitialises a single struct Useful if the struct release resource in its destructor.
Release GC allocated associative array of ref-counted resources
Release GC allocated array of ref-counted resources
Releases and nullify a single object. The object may be null.
Retain GC allocated associative array of ref-counted resources
Retain GC allocated array of ref-counted resources
Retains a single object.
A atomic reference counted resource. Objects implementing this interface can be safely manipulated as shared.
A resource that can be disposed
A string that can be mixed-in a class declaration to implement AtomicRefCounted. dispose is not implemented of course, but is called by release while the object is locked. Classes implementing it are free to do it in a non-thread safe manner as long as dispose does not manipulate external state.
Produces an Rc!T holding a null object
Helper struct that manages the reference count of an object using RAII.
A helper struct that manage the lifetime of a Disposable using RAII. Note: dlang has capability to enforce a parameter be a lvalue (ref param) but has no mechanism such as c++ rvalue reference which would enforce true uniqueness by the compiler. Uniq gives additional robustness, but it is up to the programmer to make sure that the values passed in by rvalue are not referenced somewhere else in the code
Helper struct that keeps a weak reference to a Resource.
Helper that build a new instance of T and returns it within a Rc!T
Creates a new instance of T and returns it under a Uniq!T.
Helper that places an instance of T within a Rc!T
Reference counting module