cl_aux/structures/
iter_wrapper.rs1#[derive(Debug)]
3pub struct IterWrapper<I>(
4 pub I,
6)
7where
8 I: Iterator;
9
10#[cfg(feature = "serde")]
11mod serde {
12 use crate::IterWrapper;
13 use serde::{ser::SerializeSeq as _, Serialize, Serializer};
14
15 impl<I> Serialize for IterWrapper<I>
16 where
17 I: Clone + Iterator,
18 I::Item: Serialize,
19 {
20 #[inline]
21 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
22 where
23 S: Serializer,
24 {
25 let mut seq = serializer.serialize_seq(None)?;
26 for elem in self.0.clone() {
27 seq.serialize_element(&elem)?;
28 }
29 seq.end()
30 }
31 }
32}