Шаблон функции, не являющейся членом, имя которой совпадает с шаблоном atomic_f или шаблоном, atomic_f_explicit вызывает функцию-член fсо значением первого параметра в качестве выражения объекта и значениями остальных параметров (если есть) в качестве аргументов вызова функции-члена, чтобы. Аргумент для параметра типа atomic<T>::value_type* разыменовывается при передаче в вызов функции-члена. Если такой функции-члена не существует, программа имеет неправильный формат.
template<class T>
void atomic_init(volatile atomic<T>* object, typename atomic<T>::value_type desired) noexcept;
template<class T>
void atomic_init(atomic<T>* object, typename atomic<T>::value_type desired) noexcept;
Effects: Неатомарно инициализируется *object значением desired. Эта функция должна применяться только к объектам, которые были созданы по умолчанию, и только один раз. [ Note: Эта семантика обеспечивает совместимость с C. ] [ Параллельный доступ из другого потока, даже через атомарную операцию, составляет гонку данных. ] — end note Note: — end note