#[cfg(feature = "rayon")]
use rayon::prelude::{IndexedParallelIterator, ParallelIterator};
pub trait QueryMaskIter: DoubleEndedIterator {}
impl<T> QueryMaskIter for T where T: DoubleEndedIterator {}
pub trait QueryIter: QueryMaskIter + ExactSizeIterator {}
impl<T> QueryIter for T where T: QueryMaskIter + ExactSizeIterator {}
#[cfg(feature = "rayon")]
pub trait ParallelQueryMaskIter: ParallelIterator {}
#[cfg(feature = "rayon")]
impl<T> ParallelQueryMaskIter for T where T: ParallelIterator {}
#[cfg(feature = "rayon")]
pub trait ParallelQueryIter: ParallelQueryMaskIter + IndexedParallelIterator {}
#[cfg(feature = "rayon")]
impl<T> ParallelQueryIter for T where T: ParallelQueryMaskIter + IndexedParallelIterator {}