Skip to main content

EnumSetExample

Struct EnumSetExample 

Source
pub struct EnumSetExample { /* private fields */ }
Expand description

An example set of enum variants, generated by enumset!.


📍 data/codec/bin::EnumSetExample

📦 size_of::<EnumSetExample>() == 1 bytes / 8 bits ⚗️Option<T> ❗🟰 T


Represents a set of EnumExample variants.

Implementations§

Source§

impl EnumSetExample

Named subsets.

Source

pub const DATA: Self

Variants carrying payload data.

Source

pub const BORROW_OR_ALLOC: Self

Variants that can hold either borrowed or allocated data.

Source§

impl EnumSetExample

Named constants

Source

pub const Variant0: Self

1 The bit index that corresponds to EnumExample::Variant0.

Source

pub const Variant1: Self

1 The bit index that corresponds to EnumExample::Variant1.

Source

pub const Variant2: Self

1 The bit index that corresponds to EnumExample::Variant2.

Source

pub const Variant3: Self

1 The bit index that corresponds to EnumExample::Variant3.

Source

pub const Variant4: Self

1 The bit index that corresponds to EnumExample::Variant4.

Source§

impl EnumSetExample

Convenience methods derived from each named constant.

Source

pub const fn has_variant0(self) -> bool

Returns true if Variant0 is present.

Source

pub const fn contains_variant0(self) -> bool

Returns true if all bits in Variant0 are present.

Source

pub const fn intersects_variant0(self) -> bool

Returns true if the set shares any bit with Variant0.

Source

pub const fn with_variant0(self) -> Self

Returns self with Variant0 inserted.

Source

pub const fn with_variant0_if(self, condition: bool) -> Self

Returns self with Variant0 inserted if condition is true.

Source

pub const fn without_variant0(self) -> Self

Returns self with Variant0 removed.

Source

pub const fn set_variant0(&mut self)

Sets Variant0.

Source

pub const fn set_variant0_if(&mut self, condition: bool)

Sets Variant0 if condition is true.

Source

pub const fn unset_variant0(&mut self)

Unsets Variant0.

Source

pub const fn has_variant1(self) -> bool

Returns true if Variant1 is present.

Source

pub const fn contains_variant1(self) -> bool

Returns true if all bits in Variant1 are present.

Source

pub const fn intersects_variant1(self) -> bool

Returns true if the set shares any bit with Variant1.

Source

pub const fn with_variant1(self) -> Self

Returns self with Variant1 inserted.

Source

pub const fn with_variant1_if(self, condition: bool) -> Self

Returns self with Variant1 inserted if condition is true.

Source

pub const fn without_variant1(self) -> Self

Returns self with Variant1 removed.

Source

pub const fn set_variant1(&mut self)

Sets Variant1.

Source

pub const fn set_variant1_if(&mut self, condition: bool)

Sets Variant1 if condition is true.

Source

pub const fn unset_variant1(&mut self)

Unsets Variant1.

Source

pub const fn has_variant2(self) -> bool

Returns true if Variant2 is present.

Source

pub const fn contains_variant2(self) -> bool

Returns true if all bits in Variant2 are present.

Source

pub const fn intersects_variant2(self) -> bool

Returns true if the set shares any bit with Variant2.

Source

pub const fn with_variant2(self) -> Self

Returns self with Variant2 inserted.

Source

pub const fn with_variant2_if(self, condition: bool) -> Self

Returns self with Variant2 inserted if condition is true.

Source

pub const fn without_variant2(self) -> Self

Returns self with Variant2 removed.

Source

pub const fn set_variant2(&mut self)

Sets Variant2.

Source

pub const fn set_variant2_if(&mut self, condition: bool)

Sets Variant2 if condition is true.

Source

pub const fn unset_variant2(&mut self)

Unsets Variant2.

Source

pub const fn has_variant3(self) -> bool

Returns true if Variant3 is present.

Source

pub const fn contains_variant3(self) -> bool

Returns true if all bits in Variant3 are present.

Source

pub const fn intersects_variant3(self) -> bool

Returns true if the set shares any bit with Variant3.

Source

pub const fn with_variant3(self) -> Self

Returns self with Variant3 inserted.

Source

pub const fn with_variant3_if(self, condition: bool) -> Self

Returns self with Variant3 inserted if condition is true.

Source

pub const fn without_variant3(self) -> Self

Returns self with Variant3 removed.

Source

pub const fn set_variant3(&mut self)

Sets Variant3.

Source

pub const fn set_variant3_if(&mut self, condition: bool)

Sets Variant3 if condition is true.

Source

pub const fn unset_variant3(&mut self)

Unsets Variant3.

Source

pub const fn has_variant4(self) -> bool

Returns true if Variant4 is present.

Source

pub const fn contains_variant4(self) -> bool

Returns true if all bits in Variant4 are present.

Source

pub const fn intersects_variant4(self) -> bool

Returns true if the set shares any bit with Variant4.

Source

pub const fn with_variant4(self) -> Self

Returns self with Variant4 inserted.

Source

pub const fn with_variant4_if(self, condition: bool) -> Self

Returns self with Variant4 inserted if condition is true.

Source

pub const fn without_variant4(self) -> Self

Returns self with Variant4 removed.

Source

pub const fn set_variant4(&mut self)

Sets Variant4.

Source

pub const fn set_variant4_if(&mut self, condition: bool)

Sets Variant4 if condition is true.

Source

pub const fn unset_variant4(&mut self)

Unsets Variant4.

Source§

impl EnumSetExample

Common set methods

Source

pub const fn new() -> Self

Returns an empty set.

Source

pub const fn from_bits(bits: u8) -> Self

Returns a set from raw bits.

Source

pub const fn bits(self) -> u8

Returns the raw backing bits.

Source

pub const fn all() -> Self

Returns the union of all declared sets.

Source

pub const fn is_empty(self) -> bool

Returns true if no bits are set.

Source

pub const fn is_full(self) -> bool

Returns true if all the declared bits are set.

Source

pub const fn contains(self, other: Self) -> bool

Returns true if all bits in other are also set in self.

Source

pub const fn has(self, other: Self) -> bool

An alias of contains.

Source

pub const fn with(self, other: Self) -> Self

Returns self with other inserted.

Source

pub const fn with_if(self, condition: bool, other: Self) -> Self

Returns self with other inserted if condition is true.

Source

pub const fn without(self, other: Self) -> Self

Returns self with other removed.

Source

pub const fn toggled(self, other: Self) -> Self

Returns self with other toggled.

Source§

impl EnumSetExample

Set operations

Source

pub const fn intersects(self, other: Self) -> bool

Returns true if self and other share any bit.

Source

pub const fn is_subset(self, other: Self) -> bool

Returns true if all bits in self are also set in other.

Source

pub const fn is_superset(self, other: Self) -> bool

Returns true if all bits in other are also set in self.

Source

pub const fn union(self, other: Self) -> Self

Returns the union of self and other.

Source

pub const fn intersection(self, other: Self) -> Self

Returns the intersection of self and other.

Source

pub const fn difference(self, other: Self) -> Self

Returns the difference of self and other.

Source

pub const fn symmetric_difference(self, other: Self) -> Self

Returns the symmetric difference of self and other.

Source§

impl EnumSetExample

Mutating set operations

Source

pub const fn clear(&mut self)

Clears the set.

Source

pub const fn insert(&mut self, other: Self)

Inserts all bits from other.

Source

pub const fn remove(&mut self, other: Self)

Removes all bits from other.

Source

pub const fn toggle(&mut self, other: Self)

Toggles all bits from other.

Source§

impl EnumSetExample

§Associated set methods

Source

pub const fn contains_variant<'a, 'b, T>( self, value: &EnumExample<'a, 'b, T>, ) -> bool
where T: Clone,

Returns true if the set contains the variant of value.

Source

pub const fn has_variant<'a, 'b, T>( self, value: &EnumExample<'a, 'b, T>, ) -> bool
where T: Clone,

An alias of contains_variant.

Source

pub const fn with_variant<'a, 'b, T>( self, value: &EnumExample<'a, 'b, T>, ) -> Self
where T: Clone,

Returns self with the variant of value inserted.

Source

pub const fn without_variant<'a, 'b, T>( self, value: &EnumExample<'a, 'b, T>, ) -> Self
where T: Clone,

Returns self with the variant of value removed.

Source

pub const fn toggled_variant<'a, 'b, T>( self, value: &EnumExample<'a, 'b, T>, ) -> Self
where T: Clone,

Returns self with the variant of value toggled.

Source

pub const fn insert_variant<'a, 'b, T>( &mut self, value: &EnumExample<'a, 'b, T>, )
where T: Clone,

Inserts the variant of value.

Source

pub const fn remove_variant<'a, 'b, T>( &mut self, value: &EnumExample<'a, 'b, T>, )
where T: Clone,

Removes the variant of value.

Source

pub const fn toggle_variant<'a, 'b, T>( &mut self, value: &EnumExample<'a, 'b, T>, )
where T: Clone,

Toggles the variant of value.

Source

pub fn for_each_set(self, f: impl FnMut(Self))

Calls f for each associated set constant present in this set.

Source

pub fn for_each_set_while(self, f: impl FnMut(Self) -> bool) -> bool

Calls f for each associated set constant present in this set while it returns true.

Returns true if all set constants were visited, or false if iteration stopped early.

Trait Implementations§

Source§

impl Binary for EnumSetExample

Formats the set as a binary mask over its declared bit domain.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()>

Formats the value using the given formatter. Read more
Source§

impl BitAnd for EnumSetExample

Source§

type Output = EnumSetExample

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAndAssign for EnumSetExample

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitOr for EnumSetExample

Source§

type Output = EnumSetExample

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOrAssign for EnumSetExample

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl BitSized<{ $Set::_SET_BIT_SIZE }> for EnumSetExample

Source§

const BIT_SIZE: usize = _

The bit size of this type (only the relevant data part, without padding). Read more
Source§

const MIN_BYTE_SIZE: usize = _

The rounded up byte size for this type. Read more
Source§

fn bit_size(&self) -> usize

Returns the bit size of this type (only the relevant data part, without padding). Read more
Source§

fn min_byte_size(&self) -> usize

Returns the rounded up byte size for this type. Read more
Source§

impl BitXor for EnumSetExample

Source§

type Output = EnumSetExample

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXorAssign for EnumSetExample

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl Clone for EnumSetExample

Source§

fn clone(&self) -> EnumSetExample

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ConstInit for EnumSetExample

Source§

const INIT: Self

Returns the compile-time “initial value” for a type.
Source§

impl Copy for EnumSetExample

Source§

impl Debug for EnumSetExample

Formats the set as a prefixed binary mask over its declared bit domain.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()>

Formats the value using the given formatter. Read more
Source§

impl DebugExt for EnumSetExample

Source§

type Ctx = ReprMode

The context used to guide formatting.
Source§

fn fmt_with(&self, f: &mut Formatter<'_>, ctx: &Self::Ctx) -> FmtResult<()>

Formats self under the given context.
Source§

fn debug_with<'a>(&'a self, ctx: &'a Self::Ctx) -> DebugWith<'a, Self>
where Self: Sized,

Wraps self for contextual debug formatting.
Source§

impl Default for EnumSetExample

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for EnumSetExample

Formats the set as a prefixed binary mask over its declared bit domain.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()>

Formats the value using the given formatter. Read more
Source§

impl Eq for EnumSetExample

Source§

impl<'a, 'b, T> From<&EnumExample<'a, 'b, T>> for EnumSetExample
where T: Clone,

Source§

fn from(value: &EnumExample<'a, 'b, T>) -> Self

Converts an enum value into its singleton variant set.

Source§

impl<'a, 'b, T> From<EnumExample<'a, 'b, T>> for EnumSetExample
where T: Clone,

Source§

fn from(value: EnumExample<'a, 'b, T>) -> Self

Converts an enum value into its singleton variant set.

Source§

impl Hash for EnumSetExample

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl LowerHex for EnumSetExample

Formats the set as a hexadecimal mask over its declared bit domain.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()>

Formats the value using the given formatter. Read more
Source§

impl Not for EnumSetExample

Source§

type Output = EnumSetExample

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Octal for EnumSetExample

Formats the set as an octal mask over its declared bit domain.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()>

Formats the value using the given formatter. Read more
Source§

impl Ord for EnumSetExample

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl PartialEq for EnumSetExample

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for EnumSetExample

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub for EnumSetExample

Source§

type Output = EnumSetExample

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl SubAssign for EnumSetExample

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl UpperHex for EnumSetExample

Formats the set as a hexadecimal mask over its declared bit domain.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyExt for T
where T: Any + ?Sized,

Source§

fn type_id() -> TypeId

Returns the TypeId of Self. Read more
Source§

fn type_of(&self) -> TypeId

Returns the TypeId of self. Read more
Source§

fn type_name(&self) -> &'static str

Returns the type name of self. Read more
Source§

fn type_is<T: 'static>(&self) -> bool

Returns true if Self is of type T. Read more
Source§

fn type_hash(&self) -> u64

Returns a deterministic hash of the TypeId of Self.
Source§

fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64

Returns a deterministic hash of the TypeId of Self using a custom hasher.
Source§

fn as_any_ref(&self) -> &dyn Any
where Self: Sized,

Upcasts &self as &dyn Any. Read more
Source§

fn as_any_mut(&mut self) -> &mut dyn Any
where Self: Sized,

Upcasts &mut self as &mut dyn Any. Read more
Source§

fn as_any_box(self: Box<Self>) -> Box<dyn Any>
where Self: Sized,

Available on crate feature alloc only.
Upcasts Box<self> as Box<dyn Any>. Read more
Source§

fn downcast_ref<T: 'static>(&self) -> Option<&T>

Available on crate feature unsafe_layout and non-crate feature safe_code only.
Returns some shared reference to the inner value if it is of type T. Read more
Source§

fn downcast_mut<T: 'static>(&mut self) -> Option<&mut T>

Available on crate feature unsafe_layout and non-crate feature safe_code only.
Returns some exclusive reference to the inner value if it is of type T. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ByteSized for T

Source§

const BYTE_ALIGN: usize = _

The alignment of this type in bytes.
Source§

const BYTE_SIZE: usize = _

The size of this type in bytes.
Source§

fn byte_align(&self) -> usize

Returns the alignment of this type in bytes.
Source§

fn byte_size(&self) -> usize

Returns the size of this type in bytes. Read more
Source§

fn ptr_size_ratio(&self) -> [usize; 2]

Returns the size ratio between Ptr::BYTES and BYTE_SIZE. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Hook for T

Source§

fn hook<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Hooks a mutation step into the value and returns it. Read more
Source§

fn tap<F>(self, f: F) -> Self
where F: FnOnce(&Self),

Taps into the value for observation and returns it unchanged. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> MemExt for T
where T: ?Sized,

Source§

const NEEDS_DROP: bool = _

Know whether dropping values of this type matters, in compile-time.
Source§

fn mem_align_of<T>() -> usize

Returns the minimum alignment of the type in bytes. Read more
Source§

fn mem_align_of_val(&self) -> usize

Returns the alignment of the pointed-to value in bytes. Read more
Source§

fn mem_size_of<T>() -> usize

Returns the size of a type in bytes. Read more
Source§

fn mem_size_of_val(&self) -> usize

Returns the size of the pointed-to value in bytes. Read more
Source§

fn mem_copy(&self) -> Self
where Self: Copy,

Bitwise-copies a value. Read more
Source§

fn mem_needs_drop(&self) -> bool

Returns true if dropping values of this type matters. Read more
Source§

fn mem_drop(self)
where Self: Sized,

Drops self by running its destructor. Read more
Source§

fn mem_forget(self)
where Self: Sized,

Forgets about self without running its destructor. Read more
Source§

fn mem_replace(&mut self, other: Self) -> Self
where Self: Sized,

Replaces self with other, returning the previous value of self. Read more
Source§

fn mem_take(&mut self) -> Self
where Self: Default,

Replaces self with its default value, returning the previous value of self. Read more
Source§

fn mem_swap(&mut self, other: &mut Self)
where Self: Sized,

Swaps the value of self and other without deinitializing either one. Read more
Source§

unsafe fn mem_zeroed<T>() -> T

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

fn mem_as_bytes(&self) -> &[u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &[u8]. Read more
Source§

fn mem_as_bytes_mut(&mut self) -> &mut [u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &mut [u8]. Read more
Source§

impl<T, R> Morph<R> for T
where T: ?Sized,

Source§

fn morph<F>(self, f: F) -> R
where F: FnOnce(Self) -> R, Self: Sized,

Morphs the value into a new one and returns it. Read more
Source§

fn morph_ref<F>(&self, f: F) -> R
where F: FnOnce(&Self) -> R,

Morphs the value by shared reference and returns the result. Read more
Source§

fn morph_mut<F>(&mut self, f: F) -> R
where F: FnOnce(&mut Self) -> R,

Morphs the value by exclusive reference and returns the result. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.