Alias IntrusiveControlBlock
Alias to ControlBlock
including qualifiers contained by Type
.
alias IntrusiveControlBlock(Type, bool mutable = false)
= impl;
If mutable
is true
, then result type alias is mutable (can be shared).
Example
static class Foo{
ControlBlock!int c;
}
static assert(is(
IntrusiveControlBlock!(Foo) == ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(const Foo) == const ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(shared Foo) == shared ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(const shared Foo) == const shared ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(immutable Foo) == immutable ControlBlock!int
));
static class Bar{
shared ControlBlock!int c;
}
static assert(is(
IntrusiveControlBlock!(Bar) == shared ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(const Bar) == const shared ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(shared Bar) == shared ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(const shared Bar) == const shared ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(immutable Bar) == immutable ControlBlock!int
));
static assert(is(
IntrusiveControlBlock!(long) == void
));