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