[atomics.nonmembers] (original) (raw)
A non-member function template whose name matches the patternatomic_ f or the pattern atomic_ f_explicitinvokes 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.
An argument for a parameter of type atomic<T>::value_type* is dereferenced when passed to the member function call.
If no such member function exists, the program is ill-formed.