A simple bitset container for Rust
Please read the API documentation here
- 0.3.0
- Add
with_capacity_and_blocks
by @luizirber - Add
difference_with
by @sunshowers - Implement
Binary
andDisplay
traits by @Dolphindalt - Add
toggle_range
by @wirelyre
- Add
- 0.2.0
- Add assign operators for the bit operations by @jrraymond
- Add
symmetric_difference
,union_with
,intersection_with
by @jrraymond - Add
is_subset
,is_superset
,is_disjoint
by @nwn - Add
.toggle(i)
method by @ShiroUsagi-san - Add default feature "std" which can be disabled to make the crate not link the std library. By @jonimake and @bluss
- Require Rust 1.31.
- 0.1.9
- Add intersection, union, difference iterators by @jrraymond
- Add intersection:
&
and union:|
operator implementations by @jrraymond - Add Extend and FromIterator implementations (from sequences of bit indices) by @jrraymond
- 0.1.8
- Add missing
#[inline]
on the ones iterator - Fix docs for
insert_range, set_range
- Add missing
- 0.1.7
- Add fast methods
.insert_range
,.set_range
by @kennytm
- Add fast methods
- 0.1.6
- Add iterator
.ones()
by @mneumann - Fix bug with
.count_ones()
where it would erronously have an out-of-bounds panic for even block endpoints
- Add iterator
- 0.1.5
- Add method
.count_ones(range)
.
- Add method
- 0.1.4
- Remove an assertion in
.copy_bit(from, to)
so that it is in line with the documentation. Thefrom
bit does not need to be in bounds. - Improve
.grow()
to useVec::resize
internally.
- Remove an assertion in
- 0.1.3
- Add method
.put()
to enable a bit and return previous value
- Add method
- 0.1.2
- Add method
.copy_bit()
(by fuine) - impl Default
- Add method
- 0.1.1
- Update documentation URL
- 0.1.0
- Add method
.grow()
- Add method
Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.