boolean-enums

Crates.ioboolean-enums
lib.rsboolean-enums
version0.3.4
sourcesrc
created_at2018-07-14 17:03:09.291556
updated_at2020-02-17 15:41:29.745154
descriptionGenerate enums with Yes and No variants. Supports no_std and serde.
homepage
repositoryhttps://github.com/dmnsafonov/boolean-enums
max_upload_size
id74230
size23,120
Dmitrii Safonov (domisafonov)

documentation

README

boolean-enums

Build Status Crates.io Documentation

Convenient macro to generate enums with Yes and No variants. Supports no_std.

Useful in cases of multiple bool arguments:

#[macro_use] extern crate boolean_enums;

gen_boolean_enum!(First);
gen_boolean_enum!(Second);
gen_boolean_enum!(Third);

fn do_smth(flag1: First, flag2: Second, flag3: Third) {
    // …
}

fn main() {
    let first = First::Yes;
    let second = Second::No;
    let third = Third::Yes;

    do_smth(first, second, third); // compiles
    do_smth(first, third, second); // fails
}

License

This project is licensed under either of

at your option.

Commit count: 25

cargo fmt