namespace std::simd {
template<std::size_t Bytes, class Abi>
constexpr bool none_of(const basic_mask<Bytes, Abi>& k) noexcept; // (1) C++26
constexpr bool none_of(std::same_as<bool> auto x) noexcept; // (2) C++26
}
概要
マスクの全要素がfalseであるかを判定する。
- (1) :
basic_maskkの全要素がfalseであるかを判定する。 - (2) : スカラーの
bool値xの否定を返す(SIMD-genericなコードを書けるようにするためのオーバーロード)。
戻り値
- (1) :
any_of(k)の否定、すなわち!any_of(k)を返す。 - (2) :
!xを返す。
例外
投げない
例
#include <simd>
#include <print>
namespace simd = std::simd;
int main()
{
simd::vec<int, 4> v([](int i) { return i; }); // {0, 1, 2, 3}
std::println("{}", simd::none_of(v < 0)); // 0未満の要素は存在しない
std::println("{}", simd::none_of(v < 2)); // 2未満の要素が存在する
}
出力
true
false
バージョン
言語
- C++26
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌