cmporder 0.1.1

macros for prioritized Ord/PartialOrd
Documentation
#[macro_export]
macro_rules! cmp_order {
  ($f1:expr) => {
    $f1
  };
  ($f1:expr, $($f:expr),+ $(,)?) => {
    {
      let cmp = $f1;
      match cmp {
        std::cmp::Ordering::Equal => cmp_order!($($f),+),
        cmp @ _ => cmp
      }
    }
  };
}

#[macro_export]
macro_rules! partial_cmp_order {
  ($fin:expr) => {
    $fin
  };
  ($f1:expr, $($f:expr),+ $(,)?) => {
    {
      let cmp = $f1;
      match cmp {
        Some(std::cmp::Ordering::Equal) => partial_cmp_order!($($f),+),
        _ => cmp
      }
    }
  };
}