SetMember

Trait SetMember 

Source
pub trait SetMember: Sized {
    type Set: PartialEq + BitOr<Self::Set, Output = Self::Set>;

    // Required methods
    fn to_set(&self) -> Self::Set;
    fn eq_set(&self, set: &Self::Set) -> bool;
    fn in_set(&self, set: &Self::Set) -> bool;

    // Provided methods
    fn and_set(self, other: impl SetMember<Set = Self::Set>) -> Self::Set { ... }
    fn default_set() -> Self::Set
       where Self: Default { ... }
}
Expand description

Member of a set of flags.

Required Associated Types§

Source

type Set: PartialEq + BitOr<Self::Set, Output = Self::Set>

Required Methods§

Source

fn to_set(&self) -> Self::Set

Source

fn eq_set(&self, set: &Self::Set) -> bool

Source

fn in_set(&self, set: &Self::Set) -> bool

Provided Methods§

Source

fn and_set(self, other: impl SetMember<Set = Self::Set>) -> Self::Set

Source

fn default_set() -> Self::Set
where Self: Default,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<A: SetMember + Default, B: SetMember<Set = A::Set> + Default> SetMember for Or<A, B>

Source§

type Set = <A as SetMember>::Set