Trait BitSet

Source
pub trait BitSet: BitSetLimit {
    // Required method
    unsafe fn set_unchecked(&mut self, idx: usize);

    // Provided method
    fn set(&mut self, idx: usize) { ... }
}
Expand description

Sets single bit. This trait should be implemented for all mutable bit-set.

Note that not all kind of bit-sets may support resetting bits.

Required Methods§

Source

unsafe fn set_unchecked(&mut self, idx: usize)

Set bit at specified index.

§Safety

Calling with idx > MAX_SET_INDEX may trigger UB. For any idx <= MAX_SET_INDEX behavior is identical to set, but may produce better optimized code.

Implementations are encouraged to use debug assertions.

Provided Methods§

Source

fn set(&mut self, idx: usize)

Sets bit at specified index.

§Panics

Calling with idx > MAX_SET_INDEX should panic.

Implementations are encouraged to use assertions.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl BitSet for bool

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl BitSet for u8

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl BitSet for u16

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl BitSet for u32

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl BitSet for u64

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl BitSet for u128

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<T> BitSet for Option<T>
where T: BitSet + BitEmpty,

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<T> BitSet for &mut T
where T: BitSet,

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<T> BitSet for Box<T>
where T: BitSet,

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<const N: usize> BitSet for [u8; N]

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<const N: usize> BitSet for [u16; N]

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<const N: usize> BitSet for [u32; N]

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<const N: usize> BitSet for [u64; N]

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Source§

impl<const N: usize> BitSet for [u128; N]

Source§

unsafe fn set_unchecked(&mut self, idx: usize)

Implementors§

Source§

impl<T> BitSet for Complement<T>
where T: BitUnset,

Source§

impl<T, B, const N: usize> BitSet for Layered<T, B, N>
where T: BitSet, B: BitSet,

Source§

impl<T, U> BitSet for Difference<T, U>
where T: BitSet, U: BitUnset,

Source§

impl<T, U> BitSet for Intersection<T, U>
where T: BitSet, U: BitSet,

Source§

impl<T, U> BitSet for Union<T, U>
where T: BitSet, U: BitSet,