std::simd::__vec_builtin_of(3cxx)

πŸ“¦ version 16.2.0, in ubuntu stonking

πŸ’– std::simd::__vec_builtin_of πŸ’–

okay bestie, welcome to section 3cxx of the manual β€” yes that's the manual name, it's giving "C++ standard library docs but make it fashion" ✨


🌸 NAME 🌸

std::simd::__vec_builtin_of β€” the concept that checks whether some type is one of those builtin vector types, with the value type and width you asked for πŸ¦‹


✨ SYNOPSIS ✨

First things first, you gotta pull in the header:

#include <vec_ops.h>

Concept definition

here's the whole vibe, verbatim, no edits, I promise 🫢

template<typename _Tp, typename _ValueType, __simd_size_type _Width sizeof(_Tp) / sizeof(_ValueType)>
concept std::simd::__vec_builtin_of =  !is_class_v<_Tp> && !is_pointer_v<_Tp> && !is_arithmetic_v<_Tp>
          && __vectorizable<_ValueType>
          && _Width >= 1 && sizeof(_Tp) / sizeof(_ValueType) == _Width
          && same_as<__vec_builtin_type_bytes<_ValueType, sizeof(_Tp)>, _Tp>
          && requires(_Tp& __v, _ValueType __x) { __v[0] = __x; }

πŸ‘‘ Detailed Description πŸ‘‘

Constrain to any vector builtin with given value type and optional width. periodt πŸ’…

like, that's literally the whole thing β€” __vec_builtin_of is the vibe check that a type _Tp passes when it's a builtin vector built on _ValueType, and optionally you can pin down exactly which _Width you want. so iconic. no cap. 🌈


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for libstdc++ from the source code. (yes, a robot wrote it, and honestly? ate. πŸ‘‘)


and that's the page, bestie!! πŸ’œ this little love letter came to you from libstdc++, and the manual entry is std::simd::__vec_builtin_of over in section 3cxx β€” go forth and constrain those vector builtins fr fr πŸ§šβœ¨πŸŽ€

πŸ“¦ where this page comes from