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 bitmap with all bits set to the given value.

Example
use fixed_bitmaps::Bitmap16;

let a = Bitmap16::new(true);
assert_eq!(*a, u16::MAX);

let b = Bitmap16::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::Bitmap16;

let a = Bitmap16::create_bit_mask(3, 7, true);
assert_eq!(*a, 0b1111000);

let b = Bitmap16::create_bit_mask(3, 6, false); // Results in 1..1000111
assert_eq!(b, Bitmap16::new(true) ^ 0b111000);

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);

Set bits from begin (inclusive) to end (exclusive) to the given value.

Example
use fixed_bitmaps::Bitmap16;

let mut bitmap = Bitmap16::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::Bitmap16;

let bitmap = Bitmap16::from(0b1010);
assert_eq!(bitmap.get(2).unwrap(), false);
assert_eq!(bitmap.get(3).unwrap(), true);

Trait Implementations

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

Performs the += operation. Read more

Performs the += operation. Read more

The resulting type after applying the & operator.

Performs the & operation. Read more

The resulting type after applying the & operator.

Performs the & operation. Read more

Performs the &= operation. Read more

Performs the &= operation. Read more

The resulting type after applying the | operator.

Performs the | operation. Read more

The resulting type after applying the | operator.

Performs the | operation. Read more

Performs the |= operation. Read more

Performs the |= operation. Read more

The resulting type after applying the ^ operator.

Performs the ^ operation. Read more

The resulting type after applying the ^ operator.

Performs the ^ operation. Read more

Performs the ^= operation. Read more

Performs the ^= operation. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

The resulting type after dereferencing.

Dereferences the value.

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

Performs the /= operation. Read more

Performs the /= operation. Read more

Performs the conversion.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

Performs the *= operation. Read more

Performs the *= operation. Read more

The resulting type after applying the ! operator.

Performs the unary ! operation. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Serialize this value into the given Serde serializer. Read more

The resulting type after applying the << operator.

Performs the << operation. Read more

Performs the <<= operation. Read more

The resulting type after applying the >> operator.

Performs the >> operation. Read more

Performs the >>= operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

Performs the -= operation. Read more

Performs the -= operation. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

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

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.