A simple fixed size bitset container for Rust.
Please read the API documentation here
union_count, intersection_count, difference_count, symmetric_difference_count) by @james7132.contains_any_in_range, contains_all_in_range, minimum, maximum, is_full, count_zeroes, and remove_range.contains_unchecked, insert_unchecked, put_unchecked, set_unchecked, toggle_unchecked, removed_unchecked, copy_bit_unchecked unsafe variants of the safe functions, by @james7132into_ones which returns a owned iterator over the one values from a bitset, by @james7132.DoubleEndedIterator for Union, Intersection, Difference, and SymmetricDifference , by @james7132.FixedBitSet::remove by @james7132.FixedBitSet::zeros and the Zeros iterator by @james7132.FixedBitSet::grow_and_insert function, a non-panicking version of insert that grows the underlying storage as need, by @shuoli84.Ones now implements DoubleEndedIterator, by @tikhu.is_clear, clarify is_empty and len documentation by @nicopap.ones using trailing_zeroes by @vkswith_capacity_and_blockswith_capacity_and_blocks by @luizirberdifference_with by @sunshowersBinary and Display traits by @Dolphindalttoggle_range by @wirelyresymmetric_difference, union_with, intersection_with by @jrraymondis_subset, is_superset, is_disjoint by @nwn.toggle(i) method by @ShiroUsagi-san& and union: | operator implementations by @jrraymond#[inline] on the ones iteratorinsert_range, set_range.insert_range, .set_range by @kennytm.ones() by @mneumann.count_ones() where it would erronously have an out-of-bounds panic for even block endpoints.count_ones(range)..copy_bit(from, to) so that it is in line with the documentation. The from bit does not need to be in bounds..grow() to use Vec::resize internally..put() to enable a bit and return previous value.copy_bit() (by fuine).grow()Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 or the MIT license, at your option. This file may not be copied, modified, or distributed except according to those terms.