Expand description
§ecore-macro
Procedural macros for the ecore crate.
§Macros
| Macro | Description |
|---|---|
#[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 forEnumMap::map_new, can move value, can invoke in const, requires importEnumMapandMapEnum - rint
- Generate
RInttype from value range, auto selectRRxxvalue type
Attribute Macros§
- bitfld
- Define bit field struct or bit field enum or bit field
Derive Macros§
- Bits
Cast - Derive BitsCast (for enum only right now)
- Iter
Enum Discriminants - Derive
IterEnumDiscriminantsfor enum, providing compile-time iteration over all discriminant names and their associated integer values. - MapEnum
- Derive MapEnum for enum