Constructor that takes an rvalue. It will ensure uniqueness, as long as the rvalue isn't just a view on an lvalue (e.g., a cast). Typical usage:
Constructor that takes an lvalue. It nulls its source. The nulling will ensure uniqueness as long as there are no previous aliases to the source.
Constructor that takes a Unique of a type that is convertible to our type.
Postblit operator is undefined to prevent the cloning of Unique objects.
Represents a reference to T. Resolves to T* if T is a value type.
Transfer ownership from a Unique of a type that is convertible to our type.
Forwards member access to contents.
Transfer ownership to a Unique rvalue. Nullifies the current contents.
Returns whether the resource exists.