std::atomic_flag_test, std::atomic_flag_test_explicit
Определено в заголовочном файле <atomic> | ||
|---|---|---|
bool atomic_flag_test( const volatile std::atomic_flag* object ) noexcept; | (1) | (с C++20) |
bool atomic_flag_test( const std::atomic_flag* object ) noexcept; | (2) | (с C++20) |
bool atomic_flag_test_explicit( const volatile std::atomic_flag* object,
std::memory_order order ) noexcept;
| (3) | (с C++20) |
bool atomic_flag_test_explicit( const std::atomic_flag* object,
std::memory_order order ) noexcept;
| (4) | (с C++20) |
Атомарно считывает значение *object и возвращает это значение.
1,2) Порядок синхронизации памяти —
std::memory_order_seq_cst.
3,4) Порядок синхронизации памяти —
order.
Если
order является одним из std::memory_order::release и std::memory_order::acq_rel, поведение не определено.Параметры
| object | - | указатель на объект atomic_flag для чтения |
| order | - | порядок синхронизации памяти |
Возвращаемое значение
Атомарно считанное значение.
Примечания
| Макрос проверки наличия функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_atomic_flag_test | 201907L | (C++20) |
std::atomic_flag::test |
Пример
См. также
|
(C++20) | атомарно возвращает значение флага (публичный член-функция std::atomic_flag) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/atomic/atomic_flag_test