range

Macro range 

Source
macro_rules! range {
    (@hasLowerBound [$($lower:tt)+] -> ..) => { ... };
    (@hasLowerBound [$($lower:tt)+] -> .. $($tail:tt)+) => { ... };
    (@hasLowerBound [$($lower:tt)+] -> $b:tt $($tail:tt)*) => { ... };
    (@hasLowerBound [$($lower:tt)+] ->) => { ... };
    (.. $($a:tt)+) => { ... };
    ($a:tt $($tail:tt)*) => { ... };
}
Expand description

Creates a Range.

ยงExamples

use conjure_cp_core::{range,ast::Range};

let a = 2*10;
assert_eq!(range!(..a),Range::UnboundedL(a));
assert_eq!(range!(2*5..),Range::UnboundedR(10));
assert_eq!(range!(..10),Range::UnboundedL(10));
assert_eq!(range!(1..5),Range::Bounded(1,5));
assert_eq!(range!(Some(10).unwrap()),Range::Single(10));