Struct fixed_bitmaps::Bitmap32 [−][src]
pub struct Bitmap32(_);
Expand description
A bitmap of length 32.
Examples
// Creates an empty bitmap
use fixed_bitmaps::Bitmap32;
let mut bitmap = Bitmap32::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_u32());
// Let's do the same as above, but actually setting the values in the bitmap to something
bitmap |= Bitmap32::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 < 32
bitmap.set(4, true).unwrap();
// Will show that 117 (101 + 2^4) is the value of the bitmap
println!("Bitmap value: {}", bitmap.to_u32());
// Or you could use the deref operator for an even easier conversion
println!("Bitmap value: {}", *bitmap);
Implementations
Creates a new bitmap with all bits set to the given value.
Example
use fixed_bitmaps::Bitmap32;
let a = Bitmap32::new(true);
assert_eq!(*a, u32::MAX);
let b = Bitmap32::new(false);
assert_eq!(*b, 0);
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 a bitmap with all bits set to
the opposite of value.
Example
use fixed_bitmaps::Bitmap32;
let a = Bitmap32::create_bit_mask(3, 7, true);
assert_eq!(*a, 0b1111000);
let b = Bitmap32::create_bit_mask(3, 6, false); // Results in 1..1000111
assert_eq!(b, Bitmap32::new(true) ^ 0b111000);
Creates a new, empty Bitmap32
, and sets the desired index before returning.
use fixed_bitmaps::Bitmap32;
let a = Bitmap32::from_set(5).unwrap();
// The above is equivalent to:
let mut b = Bitmap32::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::Bitmap32;
let mut bitmap = Bitmap32::default();
assert_eq!(*bitmap, 0);
bitmap.set(4, true);
assert_eq!(*bitmap, 16);
Set bits from begin (inclusive) to end (exclusive) to the given value.
Example
use fixed_bitmaps::Bitmap32;
let mut bitmap = Bitmap32::default();
assert_eq!(*bitmap, 0);
bitmap.set_range(2, 7, true);
assert_eq!(*bitmap, 0b1111100);
bitmap.set_range(3, 5, false);
assert_eq!(*bitmap, 0b1100100);
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::Bitmap32;
let bitmap = Bitmap32::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 Bitmap32
impl UnwindSafe for Bitmap32
Blanket Implementations
Mutably borrows from an owned value. Read more