EveryNthChange Filter

template<typename T, size_t N>
struct EveryNthChange

Filter that propagates every Nth change.

This stateful filter counts changes and propagates only when the count reaches the specified interval N, effectively downsampling signal changes.

Since

v0.1.0

// Example: Propagate every 5th change
Signal<int, 10, EveryNthChange<int, 5>> sampled(0);

Note

Stateful filter. Maintains change counter.

Warning

  • N must be greater than 0.

Template Parameters:
typename T

Any type.

size_t N

Interval between propagated changes.

Public Functions

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

Public Members

mutable size_t counter = 0

See Also