bit-iter

Crates.iobit-iter
lib.rsbit-iter
version1.2.0
sourcesrc
created_at2021-06-17 14:23:00.433213
updated_at2023-08-24 19:59:38.144552
descriptionIterate forward or backwards over the positions of set bits in a word.
homepage
repositoryhttps://github.com/ctamblyn/bit-iter
max_upload_size
id411371
size15,591
Christian Tamblyn (ctamblyn)

documentation

https://docs.rs/bit-iter

README

bit-iter

Test results Crates.io Documentation

Iterate forwards or backwards over the positions of bits set in a word.

A BitIter may be constructed from any integral value, and returns the positions of the 1 bits in ascending order.

BitIter implements DoubleEndedIterator, so you can iterate over the positions of the set bits in descending order too.

Example

fn main() {
    use bit_iter::*;

    let x : u32 = 0x10001;

    for b in BitIter::from(x) {
        println!("Bit {} is set.", b);
    }

    println!("In reverse order:");

    for b in BitIter::from(x).rev() {
        println!("Bit {} is set.", b);
    }
}

Output:

Bit 0 is set.
Bit 16 is set.
In reverse order:
Bit 16 is set.
Bit 0 is set.

Minimum supported Rust version (MSRV) policy

bit-iter's current minimum supported Rust version (MSRV) is 1.53.0.

bit-iter is guaranteed to compile with that version. It might also compile with older versions, but that could change in a future patch release.

If the MSRV of bit-iter changes, that will be done in a minor version release (e.g. 1.2.x -> 1.3.0).

Commit count: 50

cargo fmt