pusherator/
for_each.rs

1use std::marker::PhantomData;
2
3use super::Pusherator;
4
5pub struct ForEach<Func, In> {
6    func: Func,
7    _marker: PhantomData<fn(In)>,
8}
9impl<Func, In> Pusherator for ForEach<Func, In>
10where
11    Func: FnMut(In),
12{
13    type Item = In;
14    fn give(&mut self, item: Self::Item) {
15        (self.func)(item)
16    }
17}
18impl<Func, In> ForEach<Func, In>
19where
20    Func: FnMut(In),
21{
22    pub fn new(func: Func) -> Self {
23        Self {
24            func,
25            _marker: PhantomData,
26        }
27    }
28}