vir-simd 0.4.189
Parallelism TS 2 extensions and simd fallback implementation
Loading...
Searching...
No Matches
simd_concepts.h File Reference

C++20 concepts extending the Parallelism TS 2 (which is limited to C++17). More...

#include <concepts>
#include "simd.h"

Go to the source code of this file.

Namespaces

namespace  vir
 This namespace collects libraries and tools authored by Matthias Kretz.
 

Concepts

concept  vir::arithmetic
 This concept matches the core language defintion of an arithmetic type.
 
concept  vir::vectorizable
 Satisfied for all arithmetic types except bool.
 
concept  vir::simd_abi_tag
 Satisfied if T is a SIMD ABI tag.
 
concept  vir::any_simd
 Satisfied if V is a (valid) specialization of simd<T, Abi>.
 
concept  vir::any_simd_mask
 Satisfied if V is a (valid) specialization of simd_mask<T, Abi>.
 
concept  vir::any_simd_or_mask
 Satisfied if V is either a simd or a simd_mask.
 
concept  vir::typed_simd
 Satisfied if V is a simd<T, Abi> with arbitrary but valid ABI tag Abi.
 
concept  vir::sized_simd
 Satisfied if V is a simd with the given size Width.
 
concept  vir::sized_simd_mask
 Satisfied if V is a simd_mask with the given size Width.
 

Detailed Description

C++20 concepts extending the Parallelism TS 2 (which is limited to C++17).