From e8a7c6e662576cf3eabba82a54c39c578136f1a2 Mon Sep 17 00:00:00 2001 From: Lucas Van Laer Date: Tue, 23 Dec 2025 12:15:05 +0100 Subject: [PATCH] feat: impl Clone on tree_map Iter --- roaring/src/treemap/iter.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roaring/src/treemap/iter.rs b/roaring/src/treemap/iter.rs index b11f1c3e..36a0bc16 100644 --- a/roaring/src/treemap/iter.rs +++ b/roaring/src/treemap/iter.rs @@ -7,6 +7,7 @@ use crate::bitmap::IntoIter as IntoIter32; use crate::bitmap::Iter as Iter32; use crate::{NonSortedIntegers, RoaringBitmap, RoaringTreemap}; +#[derive(Clone)] struct To64Iter<'a> { hi: u32, inner: Iter32<'a>, @@ -61,6 +62,7 @@ fn to64iter(t: (u32, &RoaringBitmap)) -> To64Iter<'_> { To64Iter { hi: t.0, inner: t.1.iter() } } +#[derive(Clone)] struct To64IntoIter { hi: u32, inner: IntoIter32, @@ -108,6 +110,7 @@ type InnerIntoIter = iter::FlatMap< >; /// An iterator for `RoaringTreemap`. +#[derive(Clone)] pub struct Iter<'a> { outer: BitmapIter<'a>, front: Option>, @@ -524,6 +527,7 @@ impl RoaringTreemap { } /// An iterator of `RoaringBitmap`s for `RoaringTreemap`. +#[derive(Clone)] pub struct BitmapIter<'a> { treemap: &'a BTreeMap, range: btree_map::Range<'a, u32, RoaringBitmap>,