3 stable releases
new 1.2.0 | Nov 23, 2024 |
---|---|
1.1.0 | Jul 31, 2024 |
1.0.0 | Jul 29, 2024 |
#461 in Procedural macros
87 downloads per month
18KB
247 lines
Procedural macros for str literals
Create array from str
Procedural macro proc_strarray::make_array
creates const u8 array from str literal.
Variant proc_strarray::make_array0
creates zero terminated u8 array.
Macro make_array takes three arguments:
- name of array to be created
- str literal
- expected length of str literal (optional argument, can be omitted)
Repeat str
- macro
str_repeat
repeats str literal n times. - macro
str_repeat0
repeats str literal n times and adds zero termination.
Return str length
- macro
str_len
returns length of str literal. - macro
str_len0
returns length of zero terminated str literal.
Usage
// This code will create const array of u8
// named STRU from content of "stru" str literal.
use proc_strarray::make_array;
make_array!(STRU, "stru");
// check if newly created array have length 4
assert_eq!(STRU.len(), 4);
// check created array if first character is 's'
assert_eq!(STRU[0], 's' as u8);
Documentation
rustdoc generated documentation can be found at docs.rs
License and MSRV
proc_strarray uses same license as Rust. MSRV is 1.57 and it will stay for all 1.X versions.
Dependencies
~1.5MB
~42K SLoC