pub struct StackBitSet<const N: usize>{ /* private fields */ }
Expand description
BitSet with compile-time size. It does not require any allocation and is entirely stored on the stack.
The only field is an array of usize
. Each element is stored in a bit
§Examples
use stack_bitset::StackBitSet;
let mut a: StackBitSet<42> = StackBitSet::new();
a.set(12).unwrap();
assert!(a.get(12).unwrap());
Implementations§
Source§impl<const N: usize> StackBitSet<N>
impl<const N: usize> StackBitSet<N>
pub fn iter(&self) -> StackBitSetIterator<'_, N> ⓘ
pub fn iter_limit(&self, limit: usize) -> StackBitSetIterator<'_, N> ⓘ
Sourcepub fn get(&self, idx: usize) -> Result<bool, StackBitSetError>
pub fn get(&self, idx: usize) -> Result<bool, StackBitSetError>
Returns whether the elements at index idx
in the bitset is set
Source§impl<const N: usize> StackBitSet<N>
impl<const N: usize> StackBitSet<N>
pub fn union<const M: usize>( &self, other: &StackBitSet<M>, ) -> StackBitSet<{ _ }>
pub fn intersection<const M: usize>( &self, other: &StackBitSet<M>, ) -> StackBitSet<{ _ }>
pub fn difference<const M: usize>( &self, other: &StackBitSet<M>, ) -> StackBitSet<{ _ }>
pub fn complement(&self) -> StackBitSet<N>
pub fn is_subset<const M: usize>(&self, other: &StackBitSet<M>) -> bool
pub fn is_equal<const M: usize>(&self, other: &StackBitSet<M>) -> bool
pub fn is_superset<const M: usize>(&self, other: &StackBitSet<M>) -> bool
Trait Implementations§
Source§impl<const N: usize, const M: usize> Add<&StackBitSet<M>> for StackBitSet<N>
impl<const N: usize, const M: usize> Add<&StackBitSet<M>> for StackBitSet<N>
Source§type Output = StackBitSet<{ const_min(N, M) }>
type Output = StackBitSet<{ const_min(N, M) }>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<f32> for StackBitSet<N>
impl<const N: usize> Add<f32> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<f64> for StackBitSet<N>
impl<const N: usize> Add<f64> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<i128> for StackBitSet<N>
impl<const N: usize> Add<i128> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<i16> for StackBitSet<N>
impl<const N: usize> Add<i16> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<i32> for StackBitSet<N>
impl<const N: usize> Add<i32> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<i64> for StackBitSet<N>
impl<const N: usize> Add<i64> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<i8> for StackBitSet<N>
impl<const N: usize> Add<i8> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<isize> for StackBitSet<N>
impl<const N: usize> Add<isize> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<u128> for StackBitSet<N>
impl<const N: usize> Add<u128> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<u16> for StackBitSet<N>
impl<const N: usize> Add<u16> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<u32> for StackBitSet<N>
impl<const N: usize> Add<u32> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<u64> for StackBitSet<N>
impl<const N: usize> Add<u64> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<u8> for StackBitSet<N>
impl<const N: usize> Add<u8> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Add<usize> for StackBitSet<N>
impl<const N: usize> Add<usize> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
+
operator.Source§impl<const N: usize> Clone for StackBitSet<N>
impl<const N: usize> Clone for StackBitSet<N>
Source§fn clone(&self) -> StackBitSet<N>
fn clone(&self) -> StackBitSet<N>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<const N: usize> Debug for StackBitSet<N>
impl<const N: usize> Debug for StackBitSet<N>
Source§impl<const N: usize> Default for StackBitSet<N>
impl<const N: usize> Default for StackBitSet<N>
Source§impl<const N: usize> Sub<f32> for StackBitSet<N>
impl<const N: usize> Sub<f32> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<f64> for StackBitSet<N>
impl<const N: usize> Sub<f64> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<i128> for StackBitSet<N>
impl<const N: usize> Sub<i128> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<i16> for StackBitSet<N>
impl<const N: usize> Sub<i16> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<i32> for StackBitSet<N>
impl<const N: usize> Sub<i32> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<i64> for StackBitSet<N>
impl<const N: usize> Sub<i64> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<i8> for StackBitSet<N>
impl<const N: usize> Sub<i8> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<isize> for StackBitSet<N>
impl<const N: usize> Sub<isize> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<u128> for StackBitSet<N>
impl<const N: usize> Sub<u128> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<u16> for StackBitSet<N>
impl<const N: usize> Sub<u16> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<u32> for StackBitSet<N>
impl<const N: usize> Sub<u32> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<u64> for StackBitSet<N>
impl<const N: usize> Sub<u64> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<u8> for StackBitSet<N>
impl<const N: usize> Sub<u8> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.Source§impl<const N: usize> Sub<usize> for StackBitSet<N>
impl<const N: usize> Sub<usize> for StackBitSet<N>
Source§type Output = StackBitSet<N>
type Output = StackBitSet<N>
The resulting type after applying the
-
operator.impl<const N: usize> Copy for StackBitSet<N>
Auto Trait Implementations§
impl<const N: usize> Freeze for StackBitSet<N>
impl<const N: usize> RefUnwindSafe for StackBitSet<N>
impl<const N: usize> Send for StackBitSet<N>
impl<const N: usize> Sync for StackBitSet<N>
impl<const N: usize> Unpin for StackBitSet<N>
impl<const N: usize> UnwindSafe for StackBitSet<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more