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}