Struct B20

Source
pub struct B20(/* private fields */);
Expand description

a type used to represent a field with a specific amount of bits.

Implementations§

Source§

impl B20

Source

pub const MAX: Self

the max allowed value for this type.

Source

pub const BIT_LENGTH: usize = 20usize

the bit length of this type.

Source

pub fn new(value: <BitLength<20> as AssociatedStorage>::Storage) -> Self

creates a new instance of this bitfield type with the given value.

this function panics if the value does not fit within the bit length of this type.

Source

pub fn try_new( value: <BitLength<20> as AssociatedStorage>::Storage, ) -> Option<Self>

creates a new instance of this bitfield type with the given value.

if the value does not fit within the bit length of this type, returns None.

Source

pub unsafe fn new_unchecked( value: <BitLength<20> as AssociatedStorage>::Storage, ) -> Self

creates a new instance of this bitfield type with the given value, without checking that the value fits within the bit length of this type.

§safety

the provided value must fit within the bit length of this type.

Source

pub fn get(&self) -> <BitLength<20> as AssociatedStorage>::Storage

returns the inner value.

Trait Implementations§

Source§

impl BitPiece for B20

Source§

const BITS: usize = 20usize

the length in bits of this type.
Source§

type Bits = <BitLength<20> as AssociatedStorage>::Storage

the storage type used internally to store the bits of this bitpiece.
Source§

type Fields = B20

the type which represents the expanded view of this bitpiece.
Source§

type Mut<'s, S: BitStorage + 's> = GenericBitPieceMut<'s, S, B20>

the type used to represent a mutable reference to this type inside another bitpiece.
Source§

fn from_fields(fields: Self::Fields) -> Self

constructs this type from the given fields.
Source§

fn to_fields(self) -> Self::Fields

return the values of all fields of this bitpiece.
Source§

fn try_from_bits(bits: Self::Bits) -> Option<Self>

tries to construct this type from the given bits, if the given bits represent a valid value of this type.
Source§

fn to_bits(self) -> Self::Bits

returns the underlying bits of this type.
Source§

fn zeroes() -> Self

constructs this type with a value of zero for all fields.
Source§

fn ones() -> Self

constructs this type with a value of one for all fields.
Source§

fn from_bits(bits: Self::Bits) -> Self

constructs this type from the given bits.
Source§

impl Clone for B20

Source§

fn clone(&self) -> B20

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for B20

Source§

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

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

impl Default for B20

Source§

fn default() -> B20

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

impl Display for B20

Source§

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

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

impl Hash for B20

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 Ord for B20

Source§

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

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

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

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

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

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

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

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

impl PartialEq for B20

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for B20

Source§

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

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · 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 · 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 · 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 · 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 Copy for B20

Source§

impl Eq for B20

Source§

impl StructuralPartialEq for B20

Auto Trait Implementations§

§

impl Freeze for B20

§

impl RefUnwindSafe for B20

§

impl Send for B20

§

impl Sync for B20

§

impl Unpin for B20

§

impl UnwindSafe for B20

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> 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> 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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.