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/cpp/atomic/atomic_flag_test