Skip to content

Commit 110bd41

Browse files
committed
Implement ParallelExtend
1 parent 25d28f6 commit 110bd41

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/lib.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,9 @@ where
210210
#[cfg(feature = "rayon")]
211211
mod rayon_impl {
212212
use super::*;
213-
use rayon::iter::{ParallelIterator, FromParallelIterator};
213+
use rayon::iter::{
214+
FromParallelIterator, IntoParallelIterator, ParallelExtend, ParallelIterator,
215+
};
214216

215217
impl<U, T, V> FromParallelIterator<V> for Usage<U, T>
216218
where
@@ -221,6 +223,16 @@ mod rayon_impl {
221223
U::as_usage(par_iter.into_par_iter().collect())
222224
}
223225
}
226+
227+
impl<U, T, V> ParallelExtend<V> for Usage<U, T>
228+
where
229+
T: ParallelExtend<V>,
230+
V: Send,
231+
{
232+
fn par_extend<I: IntoParallelIterator<Item = V>>(&mut self, par_iter: I) {
233+
self.data.par_extend(par_iter)
234+
}
235+
}
224236
}
225237

226238
// Data access traits
@@ -256,3 +268,4 @@ impl<U, T> Usage<U, T> {
256268
self.data
257269
}
258270
}
271+

0 commit comments

Comments
 (0)