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

Function core.stdc.stdatomic.atomic_fetch_add_impl

A atomic_fetch_add_impl(A, M) (
  shared(A)* obj,
  M arg
) @trusted;

Example

shared(int) val;
atomic_fetch_add_impl(&val, 3);
writeln(atomic_load_impl(&val)); // 3

shared(float) valF = 0.5;
atomic_fetch_add_impl(&valF, 3);
assert(atomic_load_impl(&valF) > 3);

Example

shared(int) val = 3;
atomic_fetch_sub_impl(&val, 3);
writeln(atomic_load_impl(&val)); // 0

shared(float) valF = 3;
atomic_fetch_sub_impl(&valF, 1);
assert(atomic_load_impl(&valF) < 3);

Authors

Richard (Rikki) Andrew cattermole

License

Boost License 1.0