AllMatch Filter

template<typename T, auto Predicate>
struct AllMatch

Filter that accepts only if all elements match a predicate.

This filter applies a compile-time predicate to every element in the collection and propagates only when all elements satisfy the predicate.

Since

v0.1.0

// Example: Accept vectors where all elements are positive
auto is_positive = [](int x) { return x > 0; };
Signal<std::vector<int>, 10, AllMatch<std::vector<int>, is_positive>>
data({});

Warning

  • Only supports std::array or std::vector types.

  • Predicate must be callable with element type and return bool.

Template Parameters:
typename T

Collection type (std::array or std::vector).

auto Predicate

Compile-time predicate function for elements.

Public Functions

inline bool operator()(const T &old_value, const T &new_value) const
template<typename U>
struct is_std_array : public std::false_type
template<typename U>
struct is_std_vector : public std::false_type

See Also