The Open
D
Programming Language
Learn
Language
Library
Contribute
Blog
cas.cas
core
atomic
cas
Compare and exchange for mixed-
shared
ness types
bool
cas
(T* here, V1 ifThis, V2 writeThis)
bool
cas
(shared(T)* here, V1 ifThis, V2 writeThis)
bool
cas
(shared(T)* here, shared(V1) ifThis, shared(V2) writeThis)
bool
cas
(T* here, T* ifThis, V writeThis)
bool
cas
(shared(T)* here, V1* ifThis, V2 writeThis)
template
cas
(MemoryOrder succ = MemoryOrder.seq, MemoryOrder fail = MemoryOrder.seq)
pragma(
inline
, true) pure nothrow @
nogc
@
trusted
bool
cas
(
T
V1
V2
)
(
shared
(
T
)*
here
,
V1
*
ifThis
,
V2
writeThis
)
if
(
!
is
(
T
== class) &&
(
is
(
T
:
V1
) ||
is
(shared
T
:
V1
)
)
)
bool
cas
(shared(T)* here, shared(T)* ifThis, shared(V) writeThis)
Meta
Source
See Implementation
core
atomic
cas
functions
cas
Compare and exchange for mixed-sharedness types