Struct ubits::examples::full_example::ExampleField
source · [−]pub struct ExampleField(_);
Expand description
Optional docstring for my example bit field.
Implementations
sourceimpl ExampleField
impl ExampleField
Constant values describing ExampleField
.
sourcepub const BITS: usize
pub const BITS: usize
Number of bits in an instance of ExampleField
.
sourcepub const BYTES: usize
pub const BYTES: usize
Number of bytes used by an instance of ExampleField
.
sourcepub const MAX: u8
pub const MAX: u8
Maximum valid integer for ExampleField
.
sourceimpl ExampleField
impl ExampleField
Constructors for creating instances of ExampleField
.
sourcepub fn new(value: u8) -> Self
pub fn new(value: u8) -> Self
Create a new instance of ExampleField
from a u8
value.
sourcepub fn zeros() -> Self
pub fn zeros() -> Self
Create a new instance of ExampleField
from 0
.
sourcepub fn ones() -> Self
pub fn ones() -> Self
Create a new instance of ExampleField
from the maximum possible integer value.
sourcepub fn from_binary_str(value: &str) -> Self
pub fn from_binary_str(value: &str) -> Self
Create a new instance of ExampleField
from a binary string.
sourcepub fn from_binary_string(value: String) -> Self
pub fn from_binary_string(value: String) -> Self
Create a new instance of ExampleField
from a binary string.
sourceimpl ExampleField
impl ExampleField
Current state of this bitfield.
sourceimpl ExampleField
impl ExampleField
Field accessors by index for ExampleField
.
sourcepub fn get_index(&self, index: u8) -> bool
pub fn get_index(&self, index: u8) -> bool
Returns the value of the bit at the supplied index as a boolean.
sourcepub fn clear_index(&mut self, index: u8)
pub fn clear_index(&mut self, index: u8)
Sets the value of the bit at the supplied index to 0
.
sourcepub fn toggle_index(&mut self, index: u8)
pub fn toggle_index(&mut self, index: u8)
Flips the value of the bit at the supplied index.
sourceimpl ExampleField
impl ExampleField
Named field accessors by ExampleFlags
for ExampleField
.
sourcepub fn get(&self, flag: ExampleFlags) -> bool
pub fn get(&self, flag: ExampleFlags) -> bool
Returns the value of the bit at the supplied flag as a boolean.
sourcepub fn set(&mut self, flag: ExampleFlags) -> &mut Self
pub fn set(&mut self, flag: ExampleFlags) -> &mut Self
Sets the value of the bit at the supplied flag to 1
.
sourcepub fn clear(&mut self, flag: ExampleFlags) -> &mut Self
pub fn clear(&mut self, flag: ExampleFlags) -> &mut Self
Sets the value of the bit at the supplied flag to 0
.
sourcepub fn toggle(&mut self, flag: ExampleFlags) -> &mut Self
pub fn toggle(&mut self, flag: ExampleFlags) -> &mut Self
Flips the value of the bit at the supplied flag.
sourceimpl ExampleField
impl ExampleField
Combinators for ExampleField
.
sourcepub fn diff(&self, other: Self) -> Self
pub fn diff(&self, other: Self) -> Self
Returns a new ExampleField
with ones for flags that do not match. Does not consume self
.
sourcepub fn combine(&self, other: Self) -> Self
pub fn combine(&self, other: Self) -> Self
Returns a new ExampleField
with ones for flags that were set on either input. Does not consume self
.
sourcepub fn intersect(&self, other: Self) -> Self
pub fn intersect(&self, other: Self) -> Self
Returns a new ExampleField
with ones for flags that were set on both inputs. Does not consume self
.
sourceimpl ExampleField
impl ExampleField
Conversion methods.
sourcepub fn into_diff(self, other: Self) -> Self
pub fn into_diff(self, other: Self) -> Self
Returns a new ExampleField
with ones for flags that do not match. Consumes self
.
sourcepub fn into_combined(self, other: Self) -> Self
pub fn into_combined(self, other: Self) -> Self
Returns a new ExampleField
with ones for flags that were set on either input. Consumes self
.
sourcepub fn into_intersection(self, other: Self) -> Self
pub fn into_intersection(self, other: Self) -> Self
Returns a new ExampleField
with ones for flags that were set on both inputs. Consumes self
.
Trait Implementations
sourceimpl Binary for ExampleField
impl Binary for ExampleField
sourceimpl BitAnd<ExampleField> for ExampleField
impl BitAnd<ExampleField> for ExampleField
sourceimpl BitAnd<ExampleFlags> for ExampleField
impl BitAnd<ExampleFlags> for ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the &
operator.
sourcefn bitand(self, rhs: ExampleFlags) -> Self::Output
fn bitand(self, rhs: ExampleFlags) -> Self::Output
Performs the &
operation. Read more
sourceimpl BitAnd<ExampleFlags> for &ExampleField
impl BitAnd<ExampleFlags> for &ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the &
operator.
sourcefn bitand(self, rhs: ExampleFlags) -> Self::Output
fn bitand(self, rhs: ExampleFlags) -> Self::Output
Performs the &
operation. Read more
sourceimpl BitAnd<ExampleFlags> for &mut ExampleField
impl BitAnd<ExampleFlags> for &mut ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the &
operator.
sourcefn bitand(self, rhs: ExampleFlags) -> Self::Output
fn bitand(self, rhs: ExampleFlags) -> Self::Output
Performs the &
operation. Read more
sourceimpl BitAndAssign<ExampleField> for ExampleField
impl BitAndAssign<ExampleField> for ExampleField
sourcefn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
Performs the &=
operation. Read more
sourceimpl BitAndAssign<ExampleFlags> for ExampleField
impl BitAndAssign<ExampleFlags> for ExampleField
sourcefn bitand_assign(&mut self, rhs: ExampleFlags)
fn bitand_assign(&mut self, rhs: ExampleFlags)
Performs the &=
operation. Read more
sourceimpl BitOr<ExampleField> for ExampleField
impl BitOr<ExampleField> for ExampleField
sourceimpl BitOr<ExampleFlags> for ExampleField
impl BitOr<ExampleFlags> for ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the |
operator.
sourcefn bitor(self, rhs: ExampleFlags) -> Self::Output
fn bitor(self, rhs: ExampleFlags) -> Self::Output
Performs the |
operation. Read more
sourceimpl BitOr<ExampleFlags> for &ExampleField
impl BitOr<ExampleFlags> for &ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the |
operator.
sourcefn bitor(self, rhs: ExampleFlags) -> Self::Output
fn bitor(self, rhs: ExampleFlags) -> Self::Output
Performs the |
operation. Read more
sourceimpl BitOr<ExampleFlags> for &mut ExampleField
impl BitOr<ExampleFlags> for &mut ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the |
operator.
sourcefn bitor(self, rhs: ExampleFlags) -> Self::Output
fn bitor(self, rhs: ExampleFlags) -> Self::Output
Performs the |
operation. Read more
sourceimpl BitOrAssign<ExampleField> for ExampleField
impl BitOrAssign<ExampleField> for ExampleField
sourcefn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the |=
operation. Read more
sourceimpl BitOrAssign<ExampleFlags> for ExampleField
impl BitOrAssign<ExampleFlags> for ExampleField
sourcefn bitor_assign(&mut self, rhs: ExampleFlags)
fn bitor_assign(&mut self, rhs: ExampleFlags)
Performs the |=
operation. Read more
sourceimpl BitXor<ExampleField> for ExampleField
impl BitXor<ExampleField> for ExampleField
sourceimpl BitXor<ExampleFlags> for ExampleField
impl BitXor<ExampleFlags> for ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the ^
operator.
sourcefn bitxor(self, rhs: ExampleFlags) -> Self::Output
fn bitxor(self, rhs: ExampleFlags) -> Self::Output
Performs the ^
operation. Read more
sourceimpl BitXor<ExampleFlags> for &ExampleField
impl BitXor<ExampleFlags> for &ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the ^
operator.
sourcefn bitxor(self, rhs: ExampleFlags) -> Self::Output
fn bitxor(self, rhs: ExampleFlags) -> Self::Output
Performs the ^
operation. Read more
sourceimpl BitXor<ExampleFlags> for &mut ExampleField
impl BitXor<ExampleFlags> for &mut ExampleField
type Output = ExampleField
type Output = ExampleField
The resulting type after applying the ^
operator.
sourcefn bitxor(self, rhs: ExampleFlags) -> Self::Output
fn bitxor(self, rhs: ExampleFlags) -> Self::Output
Performs the ^
operation. Read more
sourceimpl BitXorAssign<ExampleField> for ExampleField
impl BitXorAssign<ExampleField> for ExampleField
sourcefn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
Performs the ^=
operation. Read more
sourceimpl BitXorAssign<ExampleFlags> for ExampleField
impl BitXorAssign<ExampleFlags> for ExampleField
sourcefn bitxor_assign(&mut self, rhs: ExampleFlags)
fn bitxor_assign(&mut self, rhs: ExampleFlags)
Performs the ^=
operation. Read more
sourceimpl Clone for ExampleField
impl Clone for ExampleField
sourcefn clone(&self) -> ExampleField
fn clone(&self) -> ExampleField
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ExampleField
impl Debug for ExampleField
sourceimpl Default for ExampleField
impl Default for ExampleField
sourceimpl From<ExampleFlags> for ExampleField
impl From<ExampleFlags> for ExampleField
Returns a field instance from a flag.
sourcefn from(value: ExampleFlags) -> ExampleField
fn from(value: ExampleFlags) -> ExampleField
Performs the conversion.
sourceimpl From<u8> for ExampleField
impl From<u8> for ExampleField
Returns a field instance from value of its underlying type.
sourcefn from(value: u8) -> ExampleField
fn from(value: u8) -> ExampleField
Performs the conversion.
sourceimpl PartialEq<ExampleField> for ExampleField
impl PartialEq<ExampleField> for ExampleField
sourcefn eq(&self, other: &ExampleField) -> bool
fn eq(&self, other: &ExampleField) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ExampleField) -> bool
fn ne(&self, other: &ExampleField) -> bool
This method tests for !=
.
sourceimpl PartialOrd<ExampleField> for ExampleField
impl PartialOrd<ExampleField> for ExampleField
sourcefn partial_cmp(&self, other: &ExampleField) -> Option<Ordering>
fn partial_cmp(&self, other: &ExampleField) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for ExampleField
impl StructuralPartialEq for ExampleField
Auto Trait Implementations
impl RefUnwindSafe for ExampleField
impl Send for ExampleField
impl Sync for ExampleField
impl Unpin for ExampleField
impl UnwindSafe for ExampleField
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more