Crate helper

Source
Expand description

§Helper

Rust Crate API

A library provided some useful proc macros for Rust.

§Macros

  • control flow

    • either: Ternary operator in many C-like languages.
  • collections

    • btmap: Create std::collections::BTreeMap from list of key-value pairs.
    • btset: Create a std::collections::BTreeSet from a list of elements.
    • hmap: Create std::collections::HashMap from list of key-value pairs.
    • hset: Create a std::collections::HashSet from a list of elements.
  • type conversion

    • u8: Convert expression to u8 type.
    • u16: Convert expression to u16 type.
    • u32: Convert expression to u32 type.
    • u64: Convert expression to u64 type.
    • u128: Convert expression to u128 type.
    • usize: Convert expression to usize type.
    • i8: Convert expression to i8 type.
    • i16: Convert expression to i16 type.
    • i32: Convert expression to i32 type.
    • i64: Convert expression to i64 type.
    • i128: Convert expression to i128 type.
    • isize: Convert expression to isize type.
    • f32: Convert expression to f32 type.
    • f64: Convert expression to f64 type.
    • char: Convert expression to char type.
    • bool: Convert expression to bool type.

§Examples

§Type Conversion

use helper::*;

let x = 42i32;
let y = u8!(x);      // Convert to u8
let z = f64!(x);     // Convert to f64

// Support complex expressions
let result = u64!(x + 10 * 2);

// Support chained conversions
let chained = f64!(i64!(u32!(x)));

// Character conversion
let ascii_value = 65u8;
let character = char!(ascii_value);  // 'A'

§Collections

use helper::*;

// HashMap
let map = hmap! {
    "key1": "value1",
    "key2": "value2",
};

// HashSet
let set = hset! { 1, 2, 3 };

// BTreeMap
let btree_map = btmap! {
    "a": 1,
    "b": 2,
};

// BTreeSet
let btree_set = btset! { 1, 2, 3 };

§License

MulanPSL-2.0

Macros§

bool
Convert expression to bool type.
btmap
Create std::collections::BTreeMap from list of key-value pairs.
btset
Create a std::collections::BTreeSet from a list of elements.
char
Convert expression to char type.
either
Ternary operator in many C-like languages.
f32
Convert expression to f32 type.
f64
Convert expression to f64 type.
hmap
Create std::collections::HashMap from list of key-value pairs.
hset
Create a std::collections::HashSet from a list of elements.
i8
Convert expression to i8 type.
i16
Convert expression to i16 type.
i32
Convert expression to i32 type.
i64
Convert expression to i64 type.
i128
Convert expression to i128 type.
isize
Convert expression to isize type.
u8
Convert expression to u8 type.
u16
Convert expression to u16 type.
u32
Convert expression to u32 type.
u64
Convert expression to u64 type.
u128
Convert expression to u128 type.
usize
Convert expression to usize type.