Alias ControlBlockDeduction
This template deduce ControlType
shared qualifier in SharedPtr
, RcPtr
and UniquePtr
.
alias ControlBlockDeduction(Type, ControlType)
= impl;
If Type
is shared then ControlType
is shared too (atomic counting).
Example
alias CB = ControlBlock!(int, int);
static assert(is(ControlBlockDeduction!(long, CB) == CB));
static assert(is(ControlBlockDeduction!(void, CB) == CB));
static assert(is(ControlBlockDeduction!(shared double, CB) == shared CB));
static assert(is(ControlBlockDeduction!(const int, CB) == CB));
static assert(is(ControlBlockDeduction!(shared const int, CB) == shared CB));
static assert(is(ControlBlockDeduction!(immutable int, CB) == CB));
static assert(is(ControlBlockDeduction!(shared int[], CB) == shared CB));
static assert(is(ControlBlockDeduction!(shared(int)[], CB) == CB));