Struct fixed_bitmaps::Bitmap8 [−][src]
pub struct Bitmap8(_);
Expand description
A bitmap of length 8.
Examples
// Creates an empty bitmap
use fixed_bitmaps::Bitmap8;
let mut bitmap = Bitmap8::default();
// Bitmaps implement Display so you can view what the map looks like
println!("Default bitmap: {}", bitmap);
// Bitmaps also convert to their respective unsigned int versions and back again easily
// Will show 0 as the value of the bitmap
println!("Value of bitmap: {}", bitmap.to_u8());
// Let's do the same as above, but actually setting the values in the bitmap to something
bitmap |= Bitmap8::from(101);
println!("Bitmap after OR-ing with 101: {}", bitmap);
// Set the 4th index (the 5th bit) to true. Can simply unwrap the result to ignore the warning,
//as we know for certain that 4 < 8
bitmap.set(4, true).unwrap();
// Will show that 117 (101 + 2^4) is the value of the bitmap
println!("Bitmap value: {}", bitmap.to_u8());
// Or you could use the deref operator for an even easier conversion
println!("Bitmap value: {}", *bitmap);
Implementations
Create a new bitmap that has its bits set from begin
(inclusive) to end
(exclusive).
If begin is greater than the map length or end is 0, will return an empty bitmap.
Creates a new, empty Bitmap8
, and sets the desired index before returning.
use fixed_bitmaps::Bitmap8;
let a = Bitmap8::from_set(5).unwrap();
// The above is equivalent to:
let mut b = Bitmap8::from(0);
b.set(5, true);
assert_eq!(a, b);
Sets the desired index, to the value provided. Note that indexing starts at 0.
Returns
Returns a Result
based on the outcome. If an Err<String>
was returned,
it was because an out-of-bounds index was attempted to be set. In that
case the bitmap’s state remains unchanged.
Example
use fixed_bitmaps::Bitmap8;
let mut bitmap = Bitmap8::default();
assert_eq!(*bitmap, 0);
bitmap.set(4, true);
assert_eq!(*bitmap, 16);
Gets the bit at the given index. Note that indexing starts at 0.
Returns
Returns a Result
based on the outcome.
If Ok<bool>
is returned, then the contained value in ok is the state
of the given bit
If an Err<String>
was returned, it was because you tried to get
an out-of-bounds index.
Example
use fixed_bitmaps::Bitmap8;
let bitmap = Bitmap8::from(0b1010);
assert_eq!(bitmap.get(2).unwrap(), false);
assert_eq!(bitmap.get(3).unwrap(), true);
Trait Implementations
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the &=
operation. Read more
Performs the &=
operation. Read more
Performs the |=
operation. Read more
Performs the |=
operation. Read more
Performs the ^=
operation. Read more
Performs the ^=
operation. Read more
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Performs the <<=
operation. Read more
Performs the >>=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Auto Trait Implementations
impl RefUnwindSafe for Bitmap8
impl UnwindSafe for Bitmap8
Blanket Implementations
Mutably borrows from an owned value. Read more