ExtractBitsFromIntegralTypes

Trait ExtractBitsFromIntegralTypes 

Source
pub trait ExtractBitsFromIntegralTypes {
    // Required methods
    fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>;
    fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>;
    fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>;
    fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>;
    fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>;
    fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>;
    fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>;
    fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>;
}
Expand description

Defines a number of functions, which extract a range of bits from primitive numeric types (u8, u16, u32 and u64, i8, i16, i32 and i64) and return the result as one of the following types (u8, u16, u32 and u64, i8, i16, i32 and i64) E.g. the a.get_u8(5,3) function extracts the bits 5,6 and 7 of the variable a and returns the result as a u8 variable

Required Methods§

Source

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.
Source

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Extracts a range of bits and returns a Result object.

Parameters:

  • bit offset (u32) the start position of the bits to be extracted. Zero is the most significant bit
  • length (u32) the number of bits to be extracted.

Implementations on Foreign Types§

Source§

impl ExtractBitsFromIntegralTypes for i8

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for i16

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for i32

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for i64

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for u8

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for u16

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for u32

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Source§

impl ExtractBitsFromIntegralTypes for u64

Source§

fn get_u8(self, bit_offset: u32, length: u32) -> Result<u8, String>

Source§

fn get_i8(self, bit_offset: u32, length: u32) -> Result<i8, String>

Source§

fn get_u16(self, bit_offset: u32, length: u32) -> Result<u16, String>

Source§

fn get_i16(self, bit_offset: u32, length: u32) -> Result<i16, String>

Source§

fn get_u32(self, bit_offset: u32, length: u32) -> Result<u32, String>

Source§

fn get_i32(self, bit_offset: u32, length: u32) -> Result<i32, String>

Source§

fn get_u64(self, bit_offset: u32, length: u32) -> Result<u64, String>

Source§

fn get_i64(self, bit_offset: u32, length: u32) -> Result<i64, String>

Implementors§