Crate sugar [−] [src]
Syntax sugar to make your Rust life more sweet.
Usage
use sugar::*;
Sugars
Collections construct
use sugar::*; // vec construction let v = vec![1, 2, 3]; // vec of boxed value let vb = vec_box![1, 2, 3]; // hashmap construction let hm = hashmap!{ 1 => 2, 2 => 3, 3 => 4, }; // list comprehension let vb2 = c![Box::new(i), for i in 1..4]; assert_eq!(vb, vb2); // hashmap comprehension let hm2 = c![i => i + 1, for i in 1..4]; assert_eq!(hm, hm2);
vec_box!
is reexported fromvec_box
hashmap!
and related macros are reexported frommaplit
cratec!
list comprehension macro is reexported fromcute
crate
Hashmap: clone a value of speical key.
use sugar::*; let hm = hashmap! { 1 => "1".to_owned(), 2 => "2".to_owned(), }; let s = { hm.get_clone(&1) }; assert_eq!(s.unwrap(), "1".to_owned());
Result: ignore Result's OK value
use sugar::SResultExt; fn do_work1() -> Result<i32, String> { Ok(1) } fn do_work2() -> Result<(), String> { // I don't care about the result's Ok value do_work1() .drop_value() } do_work2();
max! and min! macros
use sugar::*; assert_eq!(max!(3, 1, 2, 7, 0), 7); assert_eq!(min!(3, 1, 2, 7, 0), 0);
max!
andmin!
reexported frommin_max_macros
Chained comparison
use sugar::*; fn return_2() -> i32 { return 2; } assert_eq!(cmp!(1, < 2, < 3), true); assert_eq!(cmp!(1, <= 2, <= 3), true); assert_eq!(cmp!(1, <= 2, <= 3, != 4), true); // return_2 will not be called assert_eq!(cmp!(2, < 1, < 3, < return_2()), false); // return_2 will be called once assert_eq!(cmp!(1, < return_2(), <= 2), true);
Re-exports
pub use maplit::*; |
pub use cute::*; |
pub use vec_box::*; |
pub use min_max_macros::*; |
Macros
btreemap |
Create a BTreeMap from a list of key-value pairs |
btreeset |
Create a BTreeSet from a list of elements. |
c | |
cmp | |
convert_args |
Macro that converts the keys or key-value pairs passed to another maplit
macro. The default conversion is to use the |
hashmap |
Create a HashMap from a list of key-value pairs |
hashset |
Create a HashSet from a list of elements. |
max |
Returns the highest value (Ord) of the passed parameters. |
max_f |
Returns the highest value (f64) of the passed parameters. |
min |
Returns the lowest value (Ord) of the passed parameters. |
min_f |
Returns the lowest value (f64) of the passed parameters. |
vec_box |
Traits
SHashMapExt | |
SResultExt |