std::atomic_ref<T>::fetch_min
Предоставляется только если T является целочисленным типом, отличным от cv bool, или типом указателя на объект | ||
value_type fetch_min( value_type arg,
std::memory_order order =
std::memory_order_seq_cst ) const noexcept;
| (начиная с C++26) |
Атомарно заменяет текущее значение объекта, на который указывает ссылка, результатом std::min значения и arg. Иными словами, выполняет атомарную операцию вычисления минимума. Операция является операцией чтения-изменения-записи. Память обрабатывается в соответствии со значением order.
Если T является типом указателя и указатели указывают на разные полные объекты (или их подобъекты), сравнение указателей не задаёт строгий слабый порядок.
Эта перегрузка участвует в разрешении перегрузки, только если std::is_const_v<T> равно false.
Параметры
| arg | - | другой аргумент std::min |
| order | - | ограничения на порядок доступа к памяти |
Возвращаемое значение
Значение непосредственно перед эффектами этой функции в порядке модификации *this.
Примечания
| Макрос проверки поддержки возможности | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_atomic_min_max | 202403L | (C++26) | Атомарное вычисление минимума/максимума |
Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_ref/fetch_min