phomo 0.2.0

A photo mosaic generation library
Documentation
#[cfg(feature = "progress_bar")]
pub(crate) fn progress_style() -> indicatif::ProgressStyle {
    indicatif::ProgressStyle::with_template("{msg}: {wide_bar} {elapsed_precise} {pos}/{len}")
        .unwrap()
}

macro_rules! iter_or_par_iter {
    ($iter:expr) => {{
        #[cfg(feature = "parallel")]
        {
            $iter.par_iter()
        }
        #[cfg(not(feature = "parallel"))]
        {
            $iter.iter()
        }
    }};
}

macro_rules! maybe_progress_bar {
    ($iter:expr, $msg:expr, par) => {{
        #[cfg(feature = "progress_bar")]
        {
            ParallelProgressIterator::progress($iter)
                .with_message($msg)
                .with_style(crate::macros::progress_style())
        }
        #[cfg(not(feature = "progress_bar"))]
        {
            $iter
        }
    }};
    ($iter:expr, $msg:expr) => {{
        #[cfg(feature = "progress_bar")]
        {
            ProgressIterator::progress($iter)
                .with_message($msg)
                .with_style(crate::macros::progress_style())
        }
        #[cfg(not(feature = "progress_bar"))]
        {
            $iter
        }
    }};
}

pub(crate) use iter_or_par_iter;
pub(crate) use maybe_progress_bar;