#bit #set-bit #field #integral #range #traits #methods

no-std bit_field

Simple bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types

13 releases (8 breaking)

Uses old Rust 2015

0.10.2 Feb 25, 2023
0.10.1 Aug 23, 2020
0.10.0 May 3, 2019
0.9.0 Nov 15, 2017
0.4.0 Jul 12, 2016

#168 in Rust patterns

Download history 110140/week @ 2023-12-12 104426/week @ 2023-12-19 79468/week @ 2023-12-26 110993/week @ 2024-01-02 116024/week @ 2024-01-09 131238/week @ 2024-01-16 140245/week @ 2024-01-23 149236/week @ 2024-01-30 153120/week @ 2024-02-06 145079/week @ 2024-02-13 146068/week @ 2024-02-20 149416/week @ 2024-02-27 152090/week @ 2024-03-05 144660/week @ 2024-03-12 153159/week @ 2024-03-19 132178/week @ 2024-03-26

605,559 downloads per month
Used in 310 crates (86 directly)

Apache-2.0/MIT

29KB
532 lines

bit_field

A simple crate which provides the BitField trait, which provides methods for operating on individual bits and ranges of bits on Rust's integral types.

Documentation

Documentation is available on docs.rs

Usage

[dependencies]
bit_field = "0.10.1"

Example

extern crate bit_field;
use bit_field::BitField;

let mut x: u8 = 0;

x.set_bit(7, true);
assert_eq!(x, 0b1000_0000);

x.set_bits(0..4, 0b1001);
assert_eq!(x, 0b1000_1001);

License

This crate is dual-licensed under MIT or the Apache License (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details.


lib.rs:

Provides the abstraction of a bit field, which allows for bit-level update and retrieval operations.

No runtime deps