lazy_bytes_cast

Struct Bits

Source
#[repr(transparent)]
pub struct Bits<T>(pub T);
Expand description

Wrapper to provide access to bit fields

use lazy_bytes_cast::Bits;

let mut bits = Bits(u32::max_value());
assert!(!bits.empty());

assert!(bits.get(1));

bits = bits.set(1);
assert!(bits.get(1));

bits = bits.toggle(1);
assert!(!bits.get(1));

bits = bits.unset(1);
assert!(!bits.get(1));

bits = bits.toggle(1);
assert!(bits.get(1));

bits = bits.reset();
assert_eq!(bits, 0);
assert!(bits.empty());

assert!(!bits.get(1));

assert_eq!(bits.len(), core::mem::size_of_val(&bits) * 8);

bits = Bits(u32::min_value());
assert!(bits.empty());
assert!(!bits.get(1));

bits = bits.set(1);
assert!(bits.get(1));

bits = bits.unset(1);
assert!(!bits.get(1));

bits = bits.set(26);
assert!(bits.get(26));
assert!(bits.get(90)); //90 % 32 == 26
bits = bits.set(91);
assert!(bits.get(26));

bits = bits.flip();
assert!(!bits.get(26));
assert!(bits.get(5));

Tuple Fields§

§0: T

Implementations§

Source§

impl Bits<u8>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<u16>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<u32>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<u64>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<u128>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<usize>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<i8>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<i16>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<i32>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<i64>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<i128>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Source§

impl Bits<isize>

Source

pub const fn get(&self, idx: u32) -> bool

Get bit by index.

Source

pub const fn set(self, idx: u32) -> Self

Set bit by index and return updated value.

Source

pub const fn unset(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn toggle(self, idx: u32) -> Self

Unset bit by index and return updated value.

Source

pub const fn empty(&self) -> bool

Returns whether all bits are unset

Source

pub const fn reset(&self) -> Self

Unset all bits and returns updated value

Source

pub const fn flip(&self) -> Self

Flip all bits and returns updated value

Source

pub const fn len(&self) -> usize

Returns number of bits inside.

Source

pub const fn size() -> usize

Returns number of bits inside.

Methods from Deref<Target = u8>§

1.43.0 · Source

pub const MIN: u8 = 0u8

1.43.0 · Source

pub const MAX: u8 = 255u8

1.53.0 · Source

pub const BITS: u32 = 8u32

1.23.0 · Source

pub fn is_ascii(&self) -> bool

Checks if the value is within the ASCII range.

§Examples
let ascii = 97u8;
let non_ascii = 150u8;

assert!(ascii.is_ascii());
assert!(!non_ascii.is_ascii());
Source

pub fn as_ascii(&self) -> Option<AsciiChar>

🔬This is a nightly-only experimental API. (ascii_char)

If the value of this byte is within the ASCII range, returns it as an ASCII character. Otherwise, returns None.

1.23.0 · Source

pub fn to_ascii_uppercase(&self) -> u8

Makes a copy of the value in its ASCII upper case equivalent.

ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

To uppercase the value in-place, use make_ascii_uppercase.

§Examples
let lowercase_a = 97u8;

assert_eq!(65, lowercase_a.to_ascii_uppercase());
1.23.0 · Source

pub fn to_ascii_lowercase(&self) -> u8

Makes a copy of the value in its ASCII lower case equivalent.

ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

To lowercase the value in-place, use make_ascii_lowercase.

§Examples
let uppercase_a = 65u8;

assert_eq!(97, uppercase_a.to_ascii_lowercase());
1.23.0 · Source

pub fn eq_ignore_ascii_case(&self, other: &u8) -> bool

Checks that two values are an ASCII case-insensitive match.

This is equivalent to to_ascii_lowercase(a) == to_ascii_lowercase(b).

§Examples
let lowercase_a = 97u8;
let uppercase_a = 65u8;

assert!(lowercase_a.eq_ignore_ascii_case(&uppercase_a));
1.23.0 · Source

pub fn make_ascii_uppercase(&mut self)

Converts this value to its ASCII upper case equivalent in-place.

ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

To return a new uppercased value without modifying the existing one, use to_ascii_uppercase.

§Examples
let mut byte = b'a';

byte.make_ascii_uppercase();

assert_eq!(b'A', byte);
1.23.0 · Source

pub fn make_ascii_lowercase(&mut self)

Converts this value to its ASCII lower case equivalent in-place.

ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

To return a new lowercased value without modifying the existing one, use to_ascii_lowercase.

§Examples
let mut byte = b'A';

byte.make_ascii_lowercase();

assert_eq!(b'a', byte);
1.24.0 · Source

pub fn is_ascii_alphabetic(&self) -> bool

Checks if the value is an ASCII alphabetic character:

  • U+0041 ‘A’ ..= U+005A ‘Z’, or
  • U+0061 ‘a’ ..= U+007A ‘z’.
§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(uppercase_a.is_ascii_alphabetic());
assert!(uppercase_g.is_ascii_alphabetic());
assert!(a.is_ascii_alphabetic());
assert!(g.is_ascii_alphabetic());
assert!(!zero.is_ascii_alphabetic());
assert!(!percent.is_ascii_alphabetic());
assert!(!space.is_ascii_alphabetic());
assert!(!lf.is_ascii_alphabetic());
assert!(!esc.is_ascii_alphabetic());
1.24.0 · Source

pub fn is_ascii_uppercase(&self) -> bool

Checks if the value is an ASCII uppercase character: U+0041 ‘A’ ..= U+005A ‘Z’.

§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(uppercase_a.is_ascii_uppercase());
assert!(uppercase_g.is_ascii_uppercase());
assert!(!a.is_ascii_uppercase());
assert!(!g.is_ascii_uppercase());
assert!(!zero.is_ascii_uppercase());
assert!(!percent.is_ascii_uppercase());
assert!(!space.is_ascii_uppercase());
assert!(!lf.is_ascii_uppercase());
assert!(!esc.is_ascii_uppercase());
1.24.0 · Source

pub fn is_ascii_lowercase(&self) -> bool

Checks if the value is an ASCII lowercase character: U+0061 ‘a’ ..= U+007A ‘z’.

§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(!uppercase_a.is_ascii_lowercase());
assert!(!uppercase_g.is_ascii_lowercase());
assert!(a.is_ascii_lowercase());
assert!(g.is_ascii_lowercase());
assert!(!zero.is_ascii_lowercase());
assert!(!percent.is_ascii_lowercase());
assert!(!space.is_ascii_lowercase());
assert!(!lf.is_ascii_lowercase());
assert!(!esc.is_ascii_lowercase());
1.24.0 · Source

pub fn is_ascii_alphanumeric(&self) -> bool

Checks if the value is an ASCII alphanumeric character:

  • U+0041 ‘A’ ..= U+005A ‘Z’, or
  • U+0061 ‘a’ ..= U+007A ‘z’, or
  • U+0030 ‘0’ ..= U+0039 ‘9’.
§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(uppercase_a.is_ascii_alphanumeric());
assert!(uppercase_g.is_ascii_alphanumeric());
assert!(a.is_ascii_alphanumeric());
assert!(g.is_ascii_alphanumeric());
assert!(zero.is_ascii_alphanumeric());
assert!(!percent.is_ascii_alphanumeric());
assert!(!space.is_ascii_alphanumeric());
assert!(!lf.is_ascii_alphanumeric());
assert!(!esc.is_ascii_alphanumeric());
1.24.0 · Source

pub fn is_ascii_digit(&self) -> bool

Checks if the value is an ASCII decimal digit: U+0030 ‘0’ ..= U+0039 ‘9’.

§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(!uppercase_a.is_ascii_digit());
assert!(!uppercase_g.is_ascii_digit());
assert!(!a.is_ascii_digit());
assert!(!g.is_ascii_digit());
assert!(zero.is_ascii_digit());
assert!(!percent.is_ascii_digit());
assert!(!space.is_ascii_digit());
assert!(!lf.is_ascii_digit());
assert!(!esc.is_ascii_digit());
Source

pub fn is_ascii_octdigit(&self) -> bool

🔬This is a nightly-only experimental API. (is_ascii_octdigit)

Checks if the value is an ASCII octal digit: U+0030 ‘0’ ..= U+0037 ‘7’.

§Examples
#![feature(is_ascii_octdigit)]

let uppercase_a = b'A';
let a = b'a';
let zero = b'0';
let seven = b'7';
let nine = b'9';
let percent = b'%';
let lf = b'\n';

assert!(!uppercase_a.is_ascii_octdigit());
assert!(!a.is_ascii_octdigit());
assert!(zero.is_ascii_octdigit());
assert!(seven.is_ascii_octdigit());
assert!(!nine.is_ascii_octdigit());
assert!(!percent.is_ascii_octdigit());
assert!(!lf.is_ascii_octdigit());
1.24.0 · Source

pub fn is_ascii_hexdigit(&self) -> bool

Checks if the value is an ASCII hexadecimal digit:

  • U+0030 ‘0’ ..= U+0039 ‘9’, or
  • U+0041 ‘A’ ..= U+0046 ‘F’, or
  • U+0061 ‘a’ ..= U+0066 ‘f’.
§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(uppercase_a.is_ascii_hexdigit());
assert!(!uppercase_g.is_ascii_hexdigit());
assert!(a.is_ascii_hexdigit());
assert!(!g.is_ascii_hexdigit());
assert!(zero.is_ascii_hexdigit());
assert!(!percent.is_ascii_hexdigit());
assert!(!space.is_ascii_hexdigit());
assert!(!lf.is_ascii_hexdigit());
assert!(!esc.is_ascii_hexdigit());
1.24.0 · Source

pub fn is_ascii_punctuation(&self) -> bool

Checks if the value is an ASCII punctuation character:

  • U+0021 ..= U+002F ! " # $ % & ' ( ) * + , - . /, or
  • U+003A ..= U+0040 : ; < = > ? @, or
  • U+005B ..= U+0060 [ \ ] ^ _ `, or
  • U+007B ..= U+007E { | } ~
§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(!uppercase_a.is_ascii_punctuation());
assert!(!uppercase_g.is_ascii_punctuation());
assert!(!a.is_ascii_punctuation());
assert!(!g.is_ascii_punctuation());
assert!(!zero.is_ascii_punctuation());
assert!(percent.is_ascii_punctuation());
assert!(!space.is_ascii_punctuation());
assert!(!lf.is_ascii_punctuation());
assert!(!esc.is_ascii_punctuation());
1.24.0 · Source

pub fn is_ascii_graphic(&self) -> bool

Checks if the value is an ASCII graphic character: U+0021 ‘!’ ..= U+007E ‘~’.

§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(uppercase_a.is_ascii_graphic());
assert!(uppercase_g.is_ascii_graphic());
assert!(a.is_ascii_graphic());
assert!(g.is_ascii_graphic());
assert!(zero.is_ascii_graphic());
assert!(percent.is_ascii_graphic());
assert!(!space.is_ascii_graphic());
assert!(!lf.is_ascii_graphic());
assert!(!esc.is_ascii_graphic());
1.24.0 · Source

pub fn is_ascii_whitespace(&self) -> bool

Checks if the value is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN.

Rust uses the WhatWG Infra Standard’s definition of ASCII whitespace. There are several other definitions in wide use. For instance, the POSIX locale includes U+000B VERTICAL TAB as well as all the above characters, but—from the very same specification—the default rule for “field splitting” in the Bourne shell considers only SPACE, HORIZONTAL TAB, and LINE FEED as whitespace.

If you are writing a program that will process an existing file format, check what that format’s definition of whitespace is before using this function.

§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(!uppercase_a.is_ascii_whitespace());
assert!(!uppercase_g.is_ascii_whitespace());
assert!(!a.is_ascii_whitespace());
assert!(!g.is_ascii_whitespace());
assert!(!zero.is_ascii_whitespace());
assert!(!percent.is_ascii_whitespace());
assert!(space.is_ascii_whitespace());
assert!(lf.is_ascii_whitespace());
assert!(!esc.is_ascii_whitespace());
1.24.0 · Source

pub fn is_ascii_control(&self) -> bool

Checks if the value is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not.

§Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';

assert!(!uppercase_a.is_ascii_control());
assert!(!uppercase_g.is_ascii_control());
assert!(!a.is_ascii_control());
assert!(!g.is_ascii_control());
assert!(!zero.is_ascii_control());
assert!(!percent.is_ascii_control());
assert!(!space.is_ascii_control());
assert!(lf.is_ascii_control());
assert!(esc.is_ascii_control());

Trait Implementations§

Source§

impl Binary for Bits<i128>

Source§

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

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

impl Binary for Bits<i16>

Source§

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

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

impl Binary for Bits<i32>

Source§

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

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

impl Binary for Bits<i64>

Source§

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

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

impl Binary for Bits<i8>

Source§

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

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

impl Binary for Bits<isize>

Source§

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

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

impl Binary for Bits<u128>

Source§

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

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

impl Binary for Bits<u16>

Source§

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

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

impl Binary for Bits<u32>

Source§

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

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

impl Binary for Bits<u64>

Source§

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

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

impl Binary for Bits<u8>

Source§

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

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

impl Binary for Bits<usize>

Source§

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

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

impl<T: Clone> Clone for Bits<T>

Source§

fn clone(&self) -> Bits<T>

Returns a copy 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 Bits<i128>

Source§

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

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

impl Debug for Bits<i16>

Source§

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

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

impl Debug for Bits<i32>

Source§

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

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

impl Debug for Bits<i64>

Source§

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

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

impl Debug for Bits<i8>

Source§

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

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

impl Debug for Bits<isize>

Source§

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

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

impl Debug for Bits<u128>

Source§

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

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

impl Debug for Bits<u16>

Source§

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

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

impl Debug for Bits<u32>

Source§

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

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

impl Debug for Bits<u64>

Source§

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

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

impl Debug for Bits<u8>

Source§

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

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

impl Debug for Bits<usize>

Source§

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

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

impl<T: Default> Default for Bits<T>

Source§

fn default() -> Bits<T>

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

impl Deref for Bits<i128>

Source§

type Target = i128

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<i16>

Source§

type Target = i16

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<i32>

Source§

type Target = i32

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<i64>

Source§

type Target = i64

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<i8>

Source§

type Target = i8

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<isize>

Source§

type Target = isize

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<u128>

Source§

type Target = u128

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<u16>

Source§

type Target = u16

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<u32>

Source§

type Target = u32

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<u64>

Source§

type Target = u64

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<u8>

Source§

type Target = u8

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Deref for Bits<usize>

Source§

type Target = usize

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for Bits<i128>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<i16>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<i32>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<i64>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<i8>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<isize>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<u128>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<u16>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<u32>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<u64>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<u8>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DerefMut for Bits<usize>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl Display for Bits<i128>

Source§

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

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

impl Display for Bits<i16>

Source§

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

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

impl Display for Bits<i32>

Source§

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

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

impl Display for Bits<i64>

Source§

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

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

impl Display for Bits<i8>

Source§

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

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

impl Display for Bits<isize>

Source§

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

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

impl Display for Bits<u128>

Source§

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

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

impl Display for Bits<u16>

Source§

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

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

impl Display for Bits<u32>

Source§

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

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

impl Display for Bits<u64>

Source§

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

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

impl Display for Bits<u8>

Source§

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

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

impl Display for Bits<usize>

Source§

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

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

impl From<i128> for Bits<i128>

Source§

fn from(val: i128) -> Self

Converts to this type from the input type.
Source§

impl From<i16> for Bits<i16>

Source§

fn from(val: i16) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Bits<i32>

Source§

fn from(val: i32) -> Self

Converts to this type from the input type.
Source§

impl From<i64> for Bits<i64>

Source§

fn from(val: i64) -> Self

Converts to this type from the input type.
Source§

impl From<i8> for Bits<i8>

Source§

fn from(val: i8) -> Self

Converts to this type from the input type.
Source§

impl From<isize> for Bits<isize>

Source§

fn from(val: isize) -> Self

Converts to this type from the input type.
Source§

impl From<u128> for Bits<u128>

Source§

fn from(val: u128) -> Self

Converts to this type from the input type.
Source§

impl From<u16> for Bits<u16>

Source§

fn from(val: u16) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for Bits<u32>

Source§

fn from(val: u32) -> Self

Converts to this type from the input type.
Source§

impl From<u64> for Bits<u64>

Source§

fn from(val: u64) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Bits<u8>

Source§

fn from(val: u8) -> Self

Converts to this type from the input type.
Source§

impl From<usize> for Bits<usize>

Source§

fn from(val: usize) -> Self

Converts to this type from the input type.
Source§

impl Hash for Bits<i128>

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 Hash for Bits<i16>

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 Hash for Bits<i32>

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 Hash for Bits<i64>

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 Hash for Bits<i8>

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 Hash for Bits<isize>

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 Hash for Bits<u128>

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 Hash for Bits<u16>

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 Hash for Bits<u32>

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 Hash for Bits<u64>

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 Hash for Bits<u8>

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 Hash for Bits<usize>

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 Into<i128> for Bits<i128>

Source§

fn into(self) -> i128

Converts this type into the (usually inferred) input type.
Source§

impl Into<i16> for Bits<i16>

Source§

fn into(self) -> i16

Converts this type into the (usually inferred) input type.
Source§

impl Into<i32> for Bits<i32>

Source§

fn into(self) -> i32

Converts this type into the (usually inferred) input type.
Source§

impl Into<i64> for Bits<i64>

Source§

fn into(self) -> i64

Converts this type into the (usually inferred) input type.
Source§

impl Into<i8> for Bits<i8>

Source§

fn into(self) -> i8

Converts this type into the (usually inferred) input type.
Source§

impl Into<isize> for Bits<isize>

Source§

fn into(self) -> isize

Converts this type into the (usually inferred) input type.
Source§

impl Into<u128> for Bits<u128>

Source§

fn into(self) -> u128

Converts this type into the (usually inferred) input type.
Source§

impl Into<u16> for Bits<u16>

Source§

fn into(self) -> u16

Converts this type into the (usually inferred) input type.
Source§

impl Into<u32> for Bits<u32>

Source§

fn into(self) -> u32

Converts this type into the (usually inferred) input type.
Source§

impl Into<u64> for Bits<u64>

Source§

fn into(self) -> u64

Converts this type into the (usually inferred) input type.
Source§

impl Into<u8> for Bits<u8>

Source§

fn into(self) -> u8

Converts this type into the (usually inferred) input type.
Source§

impl Into<usize> for Bits<usize>

Source§

fn into(self) -> usize

Converts this type into the (usually inferred) input type.
Source§

impl PartialEq<Bits<i128>> for i128

Source§

fn eq(&self, other: &Bits<i128>) -> 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 PartialEq<Bits<i16>> for i16

Source§

fn eq(&self, other: &Bits<i16>) -> 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 PartialEq<Bits<i32>> for i32

Source§

fn eq(&self, other: &Bits<i32>) -> 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 PartialEq<Bits<i64>> for i64

Source§

fn eq(&self, other: &Bits<i64>) -> 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 PartialEq<Bits<i8>> for i8

Source§

fn eq(&self, other: &Bits<i8>) -> 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 PartialEq<Bits<isize>> for isize

Source§

fn eq(&self, other: &Bits<isize>) -> 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 PartialEq<Bits<u128>> for u128

Source§

fn eq(&self, other: &Bits<u128>) -> 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 PartialEq<Bits<u16>> for u16

Source§

fn eq(&self, other: &Bits<u16>) -> 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 PartialEq<Bits<u32>> for u32

Source§

fn eq(&self, other: &Bits<u32>) -> 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 PartialEq<Bits<u64>> for u64

Source§

fn eq(&self, other: &Bits<u64>) -> 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 PartialEq<Bits<u8>> for u8

Source§

fn eq(&self, other: &Bits<u8>) -> 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 PartialEq<Bits<usize>> for usize

Source§

fn eq(&self, other: &Bits<usize>) -> 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 PartialEq<i128> for Bits<i128>

Source§

fn eq(&self, other: &i128) -> 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 PartialEq<i16> for Bits<i16>

Source§

fn eq(&self, other: &i16) -> 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 PartialEq<i32> for Bits<i32>

Source§

fn eq(&self, other: &i32) -> 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 PartialEq<i64> for Bits<i64>

Source§

fn eq(&self, other: &i64) -> 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 PartialEq<i8> for Bits<i8>

Source§

fn eq(&self, other: &i8) -> 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 PartialEq<isize> for Bits<isize>

Source§

fn eq(&self, other: &isize) -> 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 PartialEq<u128> for Bits<u128>

Source§

fn eq(&self, other: &u128) -> 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 PartialEq<u16> for Bits<u16>

Source§

fn eq(&self, other: &u16) -> 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 PartialEq<u32> for Bits<u32>

Source§

fn eq(&self, other: &u32) -> 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 PartialEq<u64> for Bits<u64>

Source§

fn eq(&self, other: &u64) -> 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 PartialEq<u8> for Bits<u8>

Source§

fn eq(&self, other: &u8) -> 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 PartialEq<usize> for Bits<usize>

Source§

fn eq(&self, other: &usize) -> 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<T: Copy> Copy for Bits<T>

Auto Trait Implementations§

§

impl<T> Freeze for Bits<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Bits<T>
where T: RefUnwindSafe,

§

impl<T> Send for Bits<T>
where T: Send,

§

impl<T> Sync for Bits<T>
where T: Sync,

§

impl<T> Unpin for Bits<T>
where T: Unpin,

§

impl<T> UnwindSafe for Bits<T>
where T: UnwindSafe,

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.