A step solution built with stable rust
Go to file
2022-01-13 19:57:56 -06:00
examples Initial commit 2022-01-13 19:53:23 -06:00
src Initial commit 2022-01-13 19:53:23 -06:00
stable-step-derive Initial commit 2022-01-13 19:53:23 -06:00
.gitignore Initial commit 2022-01-13 19:53:23 -06:00
Cargo.toml Initial commit 2022-01-13 19:53:23 -06:00
README.md Basic readme 2022-01-13 19:57:56 -06:00

stable-step

steps in stable rust

Examples

No Dependencies

[dependencies]
stable-step = "0.1"
use stable_step::{Step, StepExt};

#[derive(Debug, PartialEq, Eq, PartialOrd, Ord)]
enum MyEnum {
    A,
    B,
}

impl Step for MyEnum {
    const MIN: Self = Self::A;
    const MAX: Self = Self::B;

    fn next(&self) -> Option<Self> {
        match self {
            Self::A => Some(Self::B),
            _ => None,
        }
    }

    fn prev(&self) -> Option<Self> {
        match self {
            Self::B => Some(Self::A),
            _ => None,
        }
    }
}

fn main() {
    for value in MyEnum::iter() {
        println!("{:?}", value);
    }
}

Proc Macros

[dependencies]
stable-step = { version = "0.1", features = ["derive"] }
use stable_step::{Step, StepExt};

#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Step)]
enum MyEnum {
    A,
    B,
}

fn main() {
    for value in MyEnum::iter() {
        println!("{:?}", value);
    }
}