Files
2025-10-25 03:02:53 +03:00

33 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[atomics.nonmembers]
# 32 Concurrency support library [[thread]](./#thread)
## 32.5 Atomic operations [[atomics]](atomics#nonmembers)
### 32.5.9 Non-member functions [atomics.nonmembers]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6779)
A non-member function template whose name matches the patternatomic_*f* or the pattern atomic_*f*_explicit invokes the member function *f*, with the value of the
first parameter as the object expression and the values of the remaining parameters
(if any) as the arguments of the member function call, in order[.](#1.sentence-1)
An argument
for a parameter of type atomic<T>::value_type* is dereferenced when
passed to the member function call[.](#1.sentence-2)
If no such member function exists, the program is ill-formed[.](#1.sentence-3)
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6789)
[*Note [1](#note-1)*:
The non-member functions enable programmers to write code that can be
compiled as either C or C++, for example in a shared header file[.](#2.sentence-1)
— *end note*]