27 template <
typename T_Type>
28 auto pack_type(T_Type...) -> T_Type;
40 template <
auto... t_pack>
41 using PackType = decltype(internal::pack_type(t_pack...));
60 template <
auto... t_pack, std::invocable<
PackType<t_pack...>> T_Func>
61 [[nodiscard]] consteval
auto pack_all(T_Func func) noexcept -> bool;
75 template <
UST... t_pack>
87 template <
bool... t_pack>
99 template <
bool... t_pack>
100 [[nodiscard]] consteval auto
pack_all_true() noexcept ->
bool;
117 template <
auto... t_pack, std::invocable<
PackType<t_pack...>> T_Func>
118 [[nodiscard]] consteval
auto pack_all(T_Func func) noexcept ->
bool
121 constexpr
UST size =
sizeof...(t_pack);
123 std::array<Type, size> a = {{t_pack...}};
125 return std::ranges::all_of(a, func);
131 template <UST... t_pack>
134 auto f = [value](
UST e)
145 template <
bool... t_pack>
159 template <
bool... t_pack>
Defines the fundamental data types.
std::size_t UST
Unsigned integer type that is returned by sizeof operations.
Definition: fundamental_types.h:29
consteval auto pack_all_less(UST value) noexcept -> bool
Return true if all values of an unsigned integer parameter pack are less then a given value and false...
Definition: parameter_pack.h:132
consteval auto pack_all_false() noexcept -> bool
Return true if all values of an boolean parameter pack are false and false otherwise.
Definition: parameter_pack.h:146
consteval auto pack_all_true() noexcept -> bool
Return true if all values of an boolean parameter pack are true and false otherwise.
Definition: parameter_pack.h:160
decltype(internal::pack_type(t_pack...)) PackType
The type of a parameter pack that consist of values and not of types.
Definition: parameter_pack.h:41
consteval auto pack_all(T_Func func) noexcept -> bool
Return true if the passed function object returns true for all parameter pack values as input.
Definition: parameter_pack.h:118