orx_parallel/into_parallel/
iter_into_par_iter.rs1use crate::infallible::{ParIter, xap_variants::Id};
2use crate::runner::default_runner;
3use orx_concurrent_iter::{IterIntoConcurrentIter, implementations::ConIterOfIter};
4
5pub trait IterIntoParIter: Iterator {
7 fn iter_into_par(self) -> ParIter<ConIterOfIter<Self>, Id<Self::Item>>
23 where
24 Self: Sized,
25 Self::Item: Send;
26}
27
28impl<I> IterIntoParIter for I
29where
30 I: Iterator,
31 I::Item: Send + Sync,
32{
33 fn iter_into_par(self) -> ParIter<ConIterOfIter<Self>, Id<Self::Item>> {
34 ParIter::new(
35 self.iter_into_con_iter(),
36 Id::new(),
37 default_runner(),
38 Default::default(),
39 )
40 }
41}