- atomic[meta header]
- std[meta namespace]
- function[meta id-type]
- cpp20[meta cpp]
namespace std {
bool atomic_flag_test(const volatile atomic_flag* object) noexcept; // (1) C++20
bool atomic_flag_test(const atomic_flag* object) noexcept; // (2) C++20
}
現在の値をbool
値として取得する。
order
が以下のメモリオーダーではないこと:
アトミックに読み込まれた*this
が指している値を返す
投げない
#include <iostream>
#include <atomic>
int main()
{
std::cout << std::boolalpha;
std::atomic_flag x = ATOMIC_FLAG_INIT;
std::cout << std::atomic_flag_test(&x) << std::endl;
std::atomic_flag_test_and_set(&x);
std::cout << std::atomic_flag_test(&x) << std::endl;
}
- std::atomic_flag_test[color ff0000]
- std::atomic_flag_test_and_set[link atomic_flag_test_and_set.md]
- ATOMIC_FLAG_INIT[link /reference/atomic/atomic_flag_init.md]
false
true
- C++20
- Clang: (9.0時点で実装なし)
- GCC: (9.2時点で実装なし)
- Visual C++: (2019 Update 3時点で実装なし)