pub trait Operator: Sized {
    type ValTy: BitOr<Output = Self::ValTy> + Shl<Output = Self::ValTy> + Copy + BitOrAssign + Add<Output = Self::ValTy> + Sub<Output = Self::ValTy> + PartialOrd + AddAssign + BitAnd<Output = Self::ValTy> + Display;
    type DataTy: AsData<Self::ValTy> + Copy + Clone;

    const MIN: Self::ValTy;
    const MAX: Self::ValTy;
    const ONE: Self::ValTy;
    const ZERO: Self::ValTy;
    const DEFAULT_MAX: Self::ValTy;
Show 19 methods fn _default() -> Self; fn next(&self, index: Self::DataTy) -> Option<Self::DataTy>; fn min_val(&self) -> Self::DataTy; fn _val(&self) -> Self::ValTy; fn _val_mut(&mut self, val: Self::ValTy); fn default_value(val: Self::DataTy) -> Self { ... } fn default_range(range: impl RangeBounds<Self::DataTy>) -> Result<Self> { ... } fn default_all() -> Self { ... } fn default_all_by_max(max: Self::DataTy) -> Self { ... } fn default_array(vals: &[Self::DataTy]) -> Self { ... } fn add_array(self, vals: &[Self::DataTy]) -> Self { ... } fn add(self, index: Self::DataTy) -> Self { ... } fn add_range(self, range: impl RangeBounds<Self::DataTy>) -> Result<Self> { ... } fn merge(&self, other: &Self) -> Self { ... } fn intersection(&self, other: &Self) -> Self { ... } fn to_vec(&self) -> Vec<Self::ValTy> { ... } fn contain(&self, index: Self::DataTy) -> bool { ... } fn _next(&self, index: Self::DataTy) -> Option<Self::ValTy> { ... } fn _min_val(&self) -> Self::ValTy { ... }
}

Required Associated Types

Required Associated Constants

最小值:比如星期配置,则最小为星期1,即为1

最大值:比如星期配置,则最大为星期日,即为7

单位值:好像全为1

0值:即全不选的值,比如星期7天都不选,则为二进制0000 0000

满值:即全选的值,比如星期7天全选,则为二进制1111 1110

Required Methods

Provided Methods

取下一个持有值,不包括index

取最小的持有值

Implementors