1 个不稳定版本

0.1.1 2022 年 1 月 14 日

#2130Rust 模式

Apache-2.0/MIT

12KB
206

stable-step

稳定 Rust 中的步骤

示例

无依赖项

[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);
    }
}

过程宏

[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);
    }
}

许可证

根据您的选择,在以下许可证下发布:[Apache 许可证版本 2.0] 或 [MIT 许可证]
除非您明确说明,否则您根据 Apache-2.0 许可证定义的任何有意提交以包含在此软件包中的贡献,将按照上述方式双重许可,不附加任何额外的条款或条件。

依赖项

~220KB