1 | // Take a look at the license at the top of the repository in the LICENSE file. |
2 | |
3 | /// Converts the value into a parallel iterator (if the multi-thread feature is enabled). |
4 | /// Uses the `rayon::iter::IntoParallelIterator` trait. |
5 | #[cfg (all( |
6 | all( |
7 | any( |
8 | target_os = "linux" , |
9 | target_os = "android" , |
10 | target_os = "macos" , |
11 | target_os = "windows" , |
12 | target_os = "freebsd" , |
13 | ), |
14 | feature = "multithread" |
15 | ), |
16 | not(all(target_os = "macos" , feature = "apple-sandbox" )), |
17 | not(feature = "unknown-ci" ) |
18 | ))] |
19 | pub(crate) fn into_iter<T>(val: T) -> T::Iter |
20 | where |
21 | T: rayon::iter::IntoParallelIterator, |
22 | { |
23 | val.into_par_iter() |
24 | } |
25 | |
26 | /// Converts the value into a sequential iterator (if the multithread feature is disabled). |
27 | /// Uses the `std::iter::IntoIterator` trait. |
28 | #[cfg (all( |
29 | all( |
30 | any( |
31 | target_os = "linux" , |
32 | target_os = "android" , |
33 | target_os = "macos" , |
34 | target_os = "windows" , |
35 | target_os = "freebsd" , |
36 | ), |
37 | not(feature = "multithread" ) |
38 | ), |
39 | not(feature = "unknown-ci" ), |
40 | not(all(target_os = "macos" , feature = "apple-sandbox" )) |
41 | ))] |
42 | pub(crate) fn into_iter<T>(val: T) -> T::IntoIter |
43 | where |
44 | T: IntoIterator, |
45 | { |
46 | val.into_iter() |
47 | } |
48 | |