- execution[meta header]
- std[meta namespace]
- class template[meta id-type]
- cpp17[meta cpp]
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>{});
}
- std::is_execution_policy[color ff0000]
- std::execution::sequenced_policy[link execution/execution_policy.md]
- std::execution::parallel_policy[link execution/execution_policy.md]
- std::execution::parallel_unsequenced_policy[link execution/execution_policy.md]
- C++17
- Clang:
- GCC:
- Visual C++: ??