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}