proc_strarray

Crates.ioproc_strarray
lib.rsproc_strarray
version
sourcesrc
created_at2024-07-29 10:10:56.805158
updated_at2024-12-01 21:40:45.56362
descriptionCreate const u8 array from str or byte str literal
homepagehttps://gitlab.com/hsn10/proc_strarray
repositoryhttps://gitlab.com/hsn10/proc_strarray.git
max_upload_size
id1318719
Cargo.toml error:TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Radim Kolar (hsn10)

documentation

README

Procedural macros for str and byte str literals

MIT OR Apache License Crates.io Version MSRV 1.57 Safe Rust Documentation Crates.io Downloads

Create byte array from str or byte str

Procedural macro proc_strarray::str_array creates const u8 array from str literal. Variant proc_strarray::str_array0 creates zero terminated u8 array.

Macro str_array takes three arguments:

  1. name of array to be created
  2. str or byte str literal
  3. expected length of str literal (optional argument, can be omitted). Length is only used for length check. It will not trim or extend an array.

Repeat str or byte str

  1. macro str_repeat repeats str or byte str literal n times.
  2. macro str_repeat0 repeats str or byte str literal n times and adds NUL termination.

Repeat str or byte str as bytes

  1. macro str_repeat_bytes repeats str or byte str literal n times as byte slice.
  2. macro str_repeat_bytes0 repeats str or byte str literal n times as byte slice and adds NUL termination.

Return str or byte str length

  1. macro str_len returns length of str or byte str literal.
  2. macro str_len0 returns length of zero terminated str or byte str literal.

Create byte slice from str or byte str

  1. macro str_bytes creates byte slice from str or byte str literal.
  2. macro str_bytes0 creates zero terminated byte slice from str or byte str literal.

Usage

    // This code will create const array of u8
    // named STRU from content of "stru" str literal.
    use proc_strarray::str_array;
    str_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.

Commit count: 116

cargo fmt