Or Filter

template<typename ...Filters>
struct Or

Logical OR - any filter can accept.

This filter combinator propagates when AT LEAST ONE provided filter accepts, implementing logical disjunction of multiple filter conditions.

Since

v0.1.0

// Example: Accept values outside tolerance OR near zero
Signal<float, 10, Or<OutsideTolerance<float, 5.0>, Epsilon<float, 0.01>>> value(0.0);

Note

Preserves all filter states.

Warning

  • All filters must have valid operator() for comparison.

  • At least one filter must be provided.

Template Parameters:
typename ...Filters

Variadic filter types.

Public Functions

inline bool operator()(const auto &old_value, const auto &new_value) const

Public Members

mutable std::tuple<Filters...> filters

See Also