Skip to main content

Crate ecore_macro

Crate ecore_macro 

Source
Expand description

§ecore-macro

crates.io docs.rs

Procedural macros for the ecore crate.

§Macros

MacroDescription
#[derive(MapEnum)]Generate enum-to-array mapping with optional discriminant enum
#[bitfld(...)]Attribute macro for defining bitfield structs and enums
map_enum!Const-friendly enum variant → value mapping
rint!Compile-time ranged integer type generator
#[derive(BitsCast)]Derive bit-level casting between representations
#[derive(IterEnumDiscriminants)]Derive iteration over enum discriminants

§Usage

Add to Cargo.toml:

[dependencies]
ecore = "0.10"
ecore-macro = "0.10"

§Nightly: const trait impls

Enable the const-trait feature to generate const fn trait implementations (requires nightly Rust with #![feature(const_trait_impl)]):

ecore-macro = { version = "0.10", features = ["const-trait"] }

§MSRV

Rust 1.87+

§License

MIT — see repository for full license.

Macros§

map_enum
Map enum to EnumMap, macro version for EnumMap::map_new, can move value, can invoke in const, requires import EnumMap and MapEnum
rint
Generate RInt type from value range, auto select RRxx value type

Attribute Macros§

bitfld
Define bit field struct or bit field enum or bit field

Derive Macros§

BitsCast
Derive BitsCast (for enum only right now)
IterEnumDiscriminants
Derive IterEnumDiscriminants for enum, providing compile-time iteration over all discriminant names and their associated integer values.
MapEnum
Derive MapEnum for enum