qip_iterators/rayon_helper/
mod.rs

1/// Choose between iter and par_iter
2#[cfg(not(feature = "parallel"))]
3#[macro_export]
4macro_rules! iter {
5    ($e:expr) => {
6        $e.iter()
7    };
8}
9
10/// Choose between iter and par_iter
11#[cfg(feature = "parallel")]
12#[macro_export]
13macro_rules! iter {
14    ($e:expr) => {
15        $e.par_iter()
16    };
17}
18
19/// Choose between iter_mut and par_iter_mut
20#[cfg(not(feature = "parallel"))]
21#[macro_export]
22macro_rules! iter_mut {
23    ($e:expr) => {
24        $e.iter_mut()
25    };
26}
27
28/// Choose between iter_mut and par_iter_mut
29#[cfg(feature = "parallel")]
30#[macro_export]
31macro_rules! iter_mut {
32    ($e:expr) => {
33        $e.par_iter_mut()
34    };
35}
36
37/// Choose between into_iter and into_par_iter
38#[cfg(not(feature = "parallel"))]
39#[macro_export]
40macro_rules! into_iter {
41    ($e:expr) => {
42        $e.into_iter()
43    };
44}
45
46/// Choose between into_iter and into_par_iter
47#[cfg(feature = "parallel")]
48#[macro_export]
49macro_rules! into_iter {
50    ($e:expr) => {
51        $e.into_par_iter()
52    };
53}
54
55/// Choose between sort_by_key and par_sort_by_key
56#[cfg(not(feature = "parallel"))]
57#[macro_export]
58macro_rules! sort_by_key {
59    ($e:expr, $f:expr) => {
60        $e.sort_by_key($f)
61    };
62}
63
64/// Choose between sort_by_key and par_sort_by_key
65#[cfg(feature = "parallel")]
66#[macro_export]
67macro_rules! sort_by_key {
68    ($e:expr, $f:expr) => {
69        $e.par_sort_by_key($f)
70    };
71}
72
73/// Choose between sort_unstable_by_key and par_sort_unstable_by_key
74#[cfg(not(feature = "parallel"))]
75#[macro_export]
76macro_rules! sort_unstable_by {
77    ($e:expr, $f:expr) => {
78        $e.sort_unstable_by($f)
79    };
80}
81
82/// Choose between sort_by_key and par_sort_by_key
83#[cfg(feature = "parallel")]
84#[macro_export]
85macro_rules! sort_unstable_by {
86    ($e:expr, $f:expr) => {
87        $e.par_sort_unstable_by($f)
88    };
89}