enumiter

Crates.ioenumiter
lib.rsenumiter
version0.1.0
sourcesrc
created_at2015-09-13 23:17:03.260974
updated_at2015-12-11 23:58:51.47213
descriptionAn iterator through the variants in an enum.
homepagehttps://github.com/cgaebel/enumiter
repositoryhttps://github.com/cgaebel/enumiter
max_upload_size
id3043
size4,504
Clark Gaebel (cgaebel)

documentation

https://cgaebel.github.io/enumiter

README

EnumIter

crates.io

Build Status

A simple iterator through the different variants in an enum.

Example

  use enumiter::{enum_iter, AllVariantsTakeNoParameters};

  #[derive(Clone, Copy, PartialEq, Eq, Debug)]
  enum Test {
    One,
    Two,
    Three,
  }

  unsafe impl AllVariantsTakeNoParameters for Test {}

  #[test]
  fn it_works() {
    let mut vals = Vec::new();

    let _ = Test::Two; // ignore dead code warning.

    for x in enum_iter(Test::One, Test::Three) {
      vals.push(x);
    }

    assert_eq!(format!("{:?}", vals), "[One, Two, Three]");
  }

Documentation

See the very thorough API Docs.

Commit count: 8

cargo fmt