Skip to main content

signal_utils/
sequence.rs

1//! Sequence builder
2
3use derive_builder::Builder;
4
5#[derive(Builder)]
6pub struct Sequence <T> {
7  start    : T,
8  interval : T
9}
10pub type Builder <T> = SequenceBuilder <T>;
11
12impl <T> Iterator for Sequence <T> where T : Copy + std::ops::Add <Output=T> {
13  type Item = T;
14  fn next (&mut self) -> Option <T> {
15    let out = Some (self.start);
16    self.start = self.start + self.interval;
17    out
18  }
19}