View source code
Display the source code in std/typecons.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

std.typecons.Unique.this - multiple declarations

Function Unique.this

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:

this (
  Unique.RefT p
);
Unique!Foo f = new Foo;

Function Unique.this

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.

this (
  ref Unique.RefT p
);

Function Unique.this

Constructor that takes a Unique of a type that is convertible to our type.

this(U) (
  Unique!U u
)
if (is(u.RefT : RefT));

Typically used to transfer a Unique rvalue of derived type to a Unique of base type.

Example

class C : Object {}

Unique!C uc = new C;
Unique!Object uo = uc.release;

Authors

Andrei Alexandrescu, Bartosz Milewski, Don Clugston, Shin Fujishiro, Kenji Hara

License

Boost License 1.0.