VarIter

Crates.io Docs.rs unsafe forbidden

variter is a Rust crate that exports some simple tools for iterating over enum types with zero or more variants that have no fields.

```rust use variter::{VarIter, derivevariter}; derivevariter! { #[derive(Debug)] enum Greeting { Hello, Hola, Bonjour, } }

fn main() { for greeting in Greeting::ALL_VARIANTS { println!("{:?}", greeting); } } ```

If you're familiar with the Swift language, it's similar to using the compiler-synthesized CaseIterable protocol conformance.

See the module documentation for more information!

Usage

Add variter as a dependency in your Cargo.toml file:

```toml [dependencies]

...

variter = "0.2" ```

Features

no_std Support

Given the simplicity of the crate, no_std support can be toggled through the default-features = false flag in your Cargo.toml dependency table.

```toml [dependencies]

...

variter = { version = "0.2", default-features = false } ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.