View source code
Display the source code in core/atomic.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.

core.atomic.cas.cas - multiple declarations

Function cas.cas

Compare-and-set for non-shared values

bool cas(T, V1, V2) (
  T* here,
  V1 ifThis,
  V2 writeThis
) pure nothrow @nogc @trusted
if (!is(T == shared) && is(T : V1));

Function cas.cas

Compare-and-set for shared value type

bool cas(T, V1, V2) (
  shared(T)* here,
  V1 ifThis,
  V2 writeThis
) pure nothrow @nogc @trusted
if (!is(T == class) && (is(T : V1) || is(shared(T) : V1)));

Function cas.cas

Compare-and-set for shared reference type (class)

bool cas(T, V1, V2) (
  shared(T)* here,
  shared(V1) ifThis,
  shared(V2) writeThis
) pure nothrow @nogc @trusted
if (is(T == class));

Function cas.cas

Compare-and-exchange for non-shared types

bool cas(T, V) (
  T* here,
  T* ifThis,
  V writeThis
) pure nothrow @nogc @trusted
if (!is(T == shared) && !is(V == shared));

Function cas.cas

Compare and exchange for mixed-sharedness types

bool cas(T, V1, V2) (
  shared(T)* here,
  V1* ifThis,
  V2 writeThis
) pure nothrow @nogc @trusted
if (!is(T == class) && (is(T : V1) || is(shared(T) : V1)));

Function cas.cas

Compare-and-exchange for class

bool cas(T, V) (
  shared(T)* here,
  shared(T)* ifThis,
  shared(V) writeThis
) pure nothrow @nogc @trusted
if (is(T == class));

Authors

Sean Kelly, Alex Rønne Petersen, Manu Evans

License

Boost License 1.0