pub struct AtomicBitFieldVec<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> = Vec<Atomic<usize>>> { /* private fields */ }Expand description
A tentatively thread-safe vector of bit fields of fixed width (AKA “compact arrays”, “bit array”, etc.)
This implementation provides some concurrency guarantees, albeit not full-fledged thread safety: more precisely, we can guarantee thread-safety if the bit width is a power of two; otherwise, concurrent writes to values that cross word boundaries might end up in different threads succeeding in writing only part of a value. If the user can guarantee that no two threads ever write to the same boundary-crossing value, then no race condition can happen.
See the module documentation for more details.
Implementations§
Source§impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> AtomicBitFieldVec<B>
impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> AtomicBitFieldVec<B>
Sourcepub unsafe fn from_raw_parts(bits: B, bit_width: usize, len: usize) -> Self
pub unsafe fn from_raw_parts(bits: B, bit_width: usize, len: usize) -> Self
§Safety
len * bit_width must be between 0 (included) and the number of
bits in bits (included).
Sourcepub fn into_raw_parts(self) -> (B, usize, usize)
pub fn into_raw_parts(self) -> (B, usize, usize)
Returns the backend, the bit width, and the length, consuming this vector.
Sourcepub const fn mask(&self) -> <B::Word as PrimitiveAtomic>::Value
pub const fn mask(&self) -> <B::Word as PrimitiveAtomic>::Value
Returns the mask used to extract values from the vector.
This will keep the lowest bit_width bits.
Source§impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> + AsRef<[B::Word]>> AtomicBitFieldVec<B>
impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> + AsRef<[B::Word]>> AtomicBitFieldVec<B>
Source§impl<A: PrimitiveAtomicUnsigned<Value: Word>> AtomicBitFieldVec<Vec<A>>
impl<A: PrimitiveAtomicUnsigned<Value: Word>> AtomicBitFieldVec<Vec<A>>
Trait Implementations§
Source§impl<B> AlignHash for AtomicBitFieldVec<B>
impl<B> AlignHash for AtomicBitFieldVec<B>
Source§fn align_hash(hasher: &mut impl Hasher, offset_of: &mut usize)
fn align_hash(hasher: &mut impl Hasher, offset_of: &mut usize)
hasher assuming to be positioned
at offset_of.Source§fn align_hash_val(&self, hasher: &mut impl Hasher, offset_of: &mut usize)
fn align_hash_val(&self, hasher: &mut impl Hasher, offset_of: &mut usize)
AlignHash::align_hash on a value.Source§impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> + AsRef<[B::Word]>> AtomicBitFieldSlice<<B as Backend>::Word> for AtomicBitFieldVec<B>
impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> + AsRef<[B::Word]>> AtomicBitFieldSlice<<B as Backend>::Word> for AtomicBitFieldVec<B>
Source§fn set_atomic(
&self,
index: usize,
value: <B::Word as PrimitiveAtomic>::Value,
order: Ordering,
)
fn set_atomic( &self, index: usize, value: <B::Word as PrimitiveAtomic>::Value, order: Ordering, )
Sets the element of the slice at the specified index.
May panic if the index is not in [0..len) or the value does not
fit in BitWidth::bit_width bits.
Source§fn len(&self) -> usize
fn len(&self) -> usize
slice::len.Source§unsafe fn get_atomic_unchecked(
&self,
index: usize,
order: Ordering,
) -> <B::Word as PrimitiveAtomic>::Value
unsafe fn get_atomic_unchecked( &self, index: usize, order: Ordering, ) -> <B::Word as PrimitiveAtomic>::Value
Source§unsafe fn set_atomic_unchecked(
&self,
index: usize,
value: <B::Word as PrimitiveAtomic>::Value,
order: Ordering,
)
unsafe fn set_atomic_unchecked( &self, index: usize, value: <B::Word as PrimitiveAtomic>::Value, order: Ordering, )
Source§fn reset_atomic(&mut self, ordering: Ordering)
fn reset_atomic(&mut self, ordering: Ordering)
Source§fn par_reset_atomic(&mut self, ordering: Ordering)
fn par_reset_atomic(&mut self, ordering: Ordering)
rayon only.Source§fn is_empty(&self) -> bool
fn is_empty(&self) -> bool
slice::is_empty.Source§impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> AtomicBitWidth for AtomicBitFieldVec<B>
impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> AtomicBitWidth for AtomicBitFieldVec<B>
Source§fn atomic_bit_width(&self) -> usize
fn atomic_bit_width(&self) -> usize
Source§impl<B> Backend for AtomicBitFieldVec<B>
impl<B> Backend for AtomicBitFieldVec<B>
Source§impl<B: Clone + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> Clone for AtomicBitFieldVec<B>
impl<B: Clone + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> Clone for AtomicBitFieldVec<B>
Source§fn clone(&self) -> AtomicBitFieldVec<B>
fn clone(&self) -> AtomicBitFieldVec<B>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> CopyType for AtomicBitFieldVec<B>
impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> CopyType for AtomicBitFieldVec<B>
Source§impl<B: Debug + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> Debug for AtomicBitFieldVec<B>
impl<B: Debug + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> Debug for AtomicBitFieldVec<B>
Source§impl<B> DeserInner for AtomicBitFieldVec<B>where
B: DeserInner + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
usize: DeserInner,
<B::Word as PrimitiveAtomic>::Value: DeserInner,
for<'a> <B as DeserInner>::DeserType<'a>: Backend<Word = B::Word>,
for<'__epserde_desertype> DeserType<'__epserde_desertype, B>: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
impl<B> DeserInner for AtomicBitFieldVec<B>where
B: DeserInner + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
usize: DeserInner,
<B::Word as PrimitiveAtomic>::Value: DeserInner,
for<'a> <B as DeserInner>::DeserType<'a>: Backend<Word = B::Word>,
for<'__epserde_desertype> DeserType<'__epserde_desertype, B>: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
Source§type DeserType<'__epserde_desertype> = AtomicBitFieldVec<<B as DeserInner>::DeserType<'__epserde_desertype>>
type DeserType<'__epserde_desertype> = AtomicBitFieldVec<<B as DeserInner>::DeserType<'__epserde_desertype>>
DeserType.Source§fn __check_covariance<'__long: '__short, '__short>(
proof: CovariantProof<Self::DeserType<'__long>>,
) -> CovariantProof<Self::DeserType<'__short>>
fn __check_covariance<'__long: '__short, '__short>( proof: CovariantProof<Self::DeserType<'__long>>, ) -> CovariantProof<Self::DeserType<'__short>>
Source§unsafe fn _deser_full_inner(
backend: &mut impl ReadWithPos,
) -> Result<Self, Error>
unsafe fn _deser_full_inner( backend: &mut impl ReadWithPos, ) -> Result<Self, Error>
Source§unsafe fn _deser_eps_inner<'deser_eps_inner_lifetime>(
backend: &mut SliceWithPos<'deser_eps_inner_lifetime>,
) -> Result<Self::DeserType<'deser_eps_inner_lifetime>, Error>
unsafe fn _deser_eps_inner<'deser_eps_inner_lifetime>( backend: &mut SliceWithPos<'deser_eps_inner_lifetime>, ) -> Result<Self::DeserType<'deser_eps_inner_lifetime>, Error>
Source§impl<B> FlatType for AtomicBitFieldVec<B>
impl<B> FlatType for AtomicBitFieldVec<B>
Source§impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<&'a [<W as AtomicPrimitive>::Atomic]>> for BitFieldVec<&'a [W]>
impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<&'a [<W as AtomicPrimitive>::Atomic]>> for BitFieldVec<&'a [W]>
Source§fn from(value: AtomicBitFieldVec<&'a [W::Atomic]>) -> Self
fn from(value: AtomicBitFieldVec<&'a [W::Atomic]>) -> Self
Source§impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<&'a mut [<W as AtomicPrimitive>::Atomic]>> for BitFieldVec<&'a mut [W]>
impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<&'a mut [<W as AtomicPrimitive>::Atomic]>> for BitFieldVec<&'a mut [W]>
Source§fn from(value: AtomicBitFieldVec<&'a mut [W::Atomic]>) -> Self
fn from(value: AtomicBitFieldVec<&'a mut [W::Atomic]>) -> Self
Source§impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<Box<[<W as AtomicPrimitive>::Atomic]>>> for BitFieldVec<Box<[W]>>
impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<Box<[<W as AtomicPrimitive>::Atomic]>>> for BitFieldVec<Box<[W]>>
Source§impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<Vec<<W as AtomicPrimitive>::Atomic>>> for BitFieldVec<Vec<W>>
impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<AtomicBitFieldVec<Vec<<W as AtomicPrimitive>::Atomic>>> for BitFieldVec<Vec<W>>
Source§impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<BitFieldVec<Box<[W]>>> for AtomicBitFieldVec<Box<[W::Atomic]>>
impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<BitFieldVec<Box<[W]>>> for AtomicBitFieldVec<Box<[W::Atomic]>>
Source§impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<BitFieldVec<Vec<W>>> for AtomicBitFieldVec<Vec<W::Atomic>>
impl<W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> From<BitFieldVec<Vec<W>>> for AtomicBitFieldVec<Vec<W::Atomic>>
Source§fn from(value: BitFieldVec<Vec<W>>) -> Self
fn from(value: BitFieldVec<Vec<W>>) -> Self
Source§impl<B: Hash + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> Hash for AtomicBitFieldVec<B>
impl<B: Hash + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>> Hash for AtomicBitFieldVec<B>
Source§impl<B> MemDbgImpl for AtomicBitFieldVec<B>where
B: MemDbgImpl + FlatType + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
usize: MemDbgImpl + FlatType,
<B::Word as PrimitiveAtomic>::Value: MemDbgImpl + FlatType,
impl<B> MemDbgImpl for AtomicBitFieldVec<B>where
B: MemDbgImpl + FlatType + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
usize: MemDbgImpl + FlatType,
<B::Word as PrimitiveAtomic>::Value: MemDbgImpl + FlatType,
fn _mem_dbg_rec_on( &self, _memdbg_writer: &mut impl Write, _memdbg_total_size: usize, _memdbg_max_depth: usize, _memdbg_prefix: &mut String, _memdbg_is_last: bool, _memdbg_flags: DbgFlags, _memdbg_refs: &mut HashSet<usize>, ) -> Result
fn _mem_dbg_depth_on( &self, writer: &mut impl Write, total_size: usize, max_depth: usize, prefix: &mut String, field_name: Option<&str>, is_last: bool, padded_size: usize, flags: DbgFlags, dbg_refs: &mut HashSet<usize>, ) -> Result<(), Error>
Source§fn _mem_dbg_depth_on_impl(
&self,
writer: &mut impl Write,
total_size: usize,
max_depth: usize,
prefix: &mut String,
field_name: Option<&str>,
is_last: bool,
padded_size: usize,
flags: DbgFlags,
dbg_refs: &mut HashSet<usize>,
ref_display: RefDisplay,
) -> Result<(), Error>
fn _mem_dbg_depth_on_impl( &self, writer: &mut impl Write, total_size: usize, max_depth: usize, prefix: &mut String, field_name: Option<&str>, is_last: bool, padded_size: usize, flags: DbgFlags, dbg_refs: &mut HashSet<usize>, ref_display: RefDisplay, ) -> Result<(), Error>
Source§impl<B> MemSize for AtomicBitFieldVec<B>
impl<B> MemSize for AtomicBitFieldVec<B>
Source§impl<B> SerInner for AtomicBitFieldVec<B>where
B: SerInner + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
usize: SerInner,
<B::Word as PrimitiveAtomic>::Value: SerInner,
SerType<B>: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
impl<B> SerInner for AtomicBitFieldVec<B>where
B: SerInner + Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
usize: SerInner,
<B::Word as PrimitiveAtomic>::Value: SerInner,
SerType<B>: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>>,
Source§const IS_ZERO_COPY: bool
const IS_ZERO_COPY: bool
ZeroCopy type has this constant set to false
serialization will panic.Source§type SerType = AtomicBitFieldVec<<B as SerInner>::SerType>
type SerType = AtomicBitFieldVec<<B as SerInner>::SerType>
Self, but
in some cases, as for references to slices,
it is customized.Source§unsafe fn _ser_inner(&self, backend: &mut impl WriteWithNames) -> Result<()>
unsafe fn _ser_inner(&self, backend: &mut impl WriteWithNames) -> Result<()>
Source§impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> + AsRef<[B::Word]>> SliceByValue for AtomicBitFieldVec<B>
impl<B: Backend<Word: PrimitiveAtomicUnsigned<Value: Word>> + AsRef<[B::Word]>> SliceByValue for AtomicBitFieldVec<B>
Source§type Value = <<B as Backend>::Word as PrimitiveAtomic>::Value
type Value = <<B as Backend>::Word as PrimitiveAtomic>::Value
Source§fn len(&self) -> usize
fn len(&self) -> usize
slice::len.Source§unsafe fn get_value_unchecked(&self, index: usize) -> Self::Value
unsafe fn get_value_unchecked(&self, index: usize) -> Self::Value
Source§fn is_empty(&self) -> bool
fn is_empty(&self) -> bool
slice::is_empty.Source§fn index_value(&self, index: usize) -> Self::Value
fn index_value(&self, index: usize) -> Self::Value
Source§impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> TryFrom<BitFieldVec<&'a [W]>> for AtomicBitFieldVec<&'a [W::Atomic]>
impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> TryFrom<BitFieldVec<&'a [W]>> for AtomicBitFieldVec<&'a [W::Atomic]>
Source§impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> TryFrom<BitFieldVec<&'a mut [W]>> for AtomicBitFieldVec<&'a mut [W::Atomic]>
impl<'a, W: Word + AtomicPrimitive<Atomic: PrimitiveAtomicUnsigned>> TryFrom<BitFieldVec<&'a mut [W]>> for AtomicBitFieldVec<&'a mut [W::Atomic]>
Source§impl<B> TypeHash for AtomicBitFieldVec<B>
impl<B> TypeHash for AtomicBitFieldVec<B>
Source§fn type_hash_val(&self, hasher: &mut impl Hasher)
fn type_hash_val(&self, hasher: &mut impl Hasher)
TypeHash::type_hash on a value.Auto Trait Implementations§
impl<B> Freeze for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized + Freeze,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: Freeze,
impl<B> RefUnwindSafe for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: RefUnwindSafe,
impl<B> Send for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: Send,
impl<B> Sync for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: Sync,
impl<B> Unpin for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: Unpin,
impl<B> UnsafeUnpin for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized + UnsafeUnpin,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: UnsafeUnpin,
impl<B> UnwindSafe for AtomicBitFieldVec<B>where
<<B as Backend>::Word as PrimitiveAtomic>::Value: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryInto<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<usize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<u8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<isize>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i128>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i64>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i32>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i16>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as TryFrom<i8>>::Error: Sized,
<<<B as Backend>::Word as PrimitiveAtomic>::Value as FromStr>::Err: Sized,
<B as Backend>::Word: Sized,
B: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MemDbg for Twhere
T: MemDbgImpl,
impl<T> MemDbg for Twhere
T: MemDbgImpl,
Source§fn mem_dbg(&self, flags: DbgFlags) -> Result<(), Error>
fn mem_dbg(&self, flags: DbgFlags) -> Result<(), Error>
std only.Source§fn mem_dbg_on(
&self,
writer: &mut impl Write,
flags: DbgFlags,
) -> Result<(), Error>
fn mem_dbg_on( &self, writer: &mut impl Write, flags: DbgFlags, ) -> Result<(), Error>
core::fmt::Write debug info about the structure memory
usage, expanding all levels of nested structures.Source§fn mem_dbg_depth(&self, max_depth: usize, flags: DbgFlags) -> Result<(), Error>
fn mem_dbg_depth(&self, max_depth: usize, flags: DbgFlags) -> Result<(), Error>
std only.mem_dbg, but expanding only up to max_depth
levels of nested structures.Source§fn mem_dbg_depth_on(
&self,
writer: &mut impl Write,
max_depth: usize,
flags: DbgFlags,
) -> Result<(), Error>
fn mem_dbg_depth_on( &self, writer: &mut impl Write, max_depth: usize, flags: DbgFlags, ) -> Result<(), Error>
core::fmt::Write debug info about the structure memory
usage as mem_dbg_on, but expanding only up to
max_depth levels of nested structures.