enum-unitary
Trait and macro for unitary enums
The EnumUnitary
trait carries a number of constraints and exposes some
methods for working with variants.
The enum_unitary!
macro defines new enum implementing EnumUnitary
and an
additional const function 'count
' returning the number of variants in the
enum.
Usage
Add dependency to Cargo.toml
:
[]
= "0.2.*"
= "git://github.com/spearman/enum-unitary.git"
The count
method generated by the invocation of enum_unitary!
is a const fn
, so the const_fn
feature must be enabled in addition to importing the
crate:
extern crate enum_unitary;
Define a unitary enum:
enum_unitary!
use EnumUnitary;
use Bounded;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
let mut i = iter_variants;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;