| ▼Nein | |
| Rtrivially_destructible | Type where the destructor does no work, and therefore it is safe to simply discard |
| Rone_of | N is one of the candidates |
| Rnot_one_of | N is not one of the candidates |
| Rsimd_type | Recognizes any valid simd type |
| Rhas_storage_type | |
| Rhas_lifted_operations | Does this type have operations that semantically correct when lifted to the simd_data_t level? |
| Rhas_simd_type | ein::simd_data_t<T,N> is defined |
| Rhas_builtin_convertvector | Can we convert simd_data_t<U,N> -> simd_data_t<T,N> automatically using gcc vector extensions? |
| Rsimd_builtin | This type one of the types that is handed well automatically by clang/gcc vector extensions? |
| Rhas_mmask | Do we want to use AVX512's notion of an _mmask8, _mmask16, _mmask32, or _mmask64 for masking operations |
| Rone_of_t | Type T is one of the candidates |
| Rnot_one_of_t | Type T is not one of the candidates |
| Rwaiter | Some way to wait for a value to change |