namespace std {
template <class T>
struct is_execution_policy;
template <class T>
inline constexpr bool is_execution_policy_v = is_execution_policy<T>::value;
}
概要
is_execution_policy
は、型T
が実行ポリシー型かを判定する型特性である。
型T
が標準もしくは実装が定義する実行ポリシー型であれば、この型はstd::true_type
型から派生し、そうでなければstd::false_type
型から派生する。
備考
このクラステンプレートを特殊化した場合の動作は未定義となる。
例
#include <execution>
int main()
{
static_assert(std::is_execution_policy<std::execution::sequenced_policy>{});
static_assert(std::is_execution_policy<std::execution::parallel_policy>{});
static_assert(std::is_execution_policy<std::execution::parallel_unsequenced_policy>{});
}
xxxxxxxxxx
#include <execution>
int main()
{
static_assert(std::is_execution_policy<std::execution::sequenced_policy>{});
static_assert(std::is_execution_policy<std::execution::parallel_policy>{});
static_assert(std::is_execution_policy<std::execution::parallel_unsequenced_policy>{});
}
出力
バージョン
言語
- C++17
処理系
- Clang:
- GCC:
- Visual C++: ??