Struct fixed_bitmaps::Bitmap16 [−][src]
pub struct Bitmap16(_);
Expand description
A bitmap of length 16.
Examples
// Creates an empty bitmap
use fixed_bitmaps::Bitmap16;
let mut bitmap = Bitmap16::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_u16());
// Let's do the same as above, but actually setting the values in the bitmap to something
bitmap |= Bitmap16::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 < 16
bitmap.set(4, true).unwrap();
// Will show that 117 (101 + 2^4) is the value of the bitmap
println!("Bitmap value: {}", bitmap.to_u16());
// Or you could use the deref operator for an even easier conversion
println!("Bitmap value: {}", *bitmap);
Implementations
Creates a new, empty Bitmap16
, and sets the desired index before returning.
use fixed_bitmaps::Bitmap16;
let a = Bitmap16::from_set(5).unwrap();
// The above is equivalent to:
let mut b = Bitmap16::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::Bitmap16;
let mut bitmap = Bitmap16::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::Bitmap16;
let bitmap = Bitmap16::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 Bitmap16
impl UnwindSafe for Bitmap16
Blanket Implementations
Mutably borrows from an owned value. Read more