pub struct ArchivedHashTable<T> { /* private fields */ }Expand description
A low-level archived SwissTable hash table with explicit hashing.
Implementations§
Source§impl<T> ArchivedHashTable<T>
impl<T> ArchivedHashTable<T>
Sourcepub fn get_with<C>(&self, hash: u64, cmp: C) -> Option<&T>
pub fn get_with<C>(&self, hash: u64, cmp: C) -> Option<&T>
Returns the key-value pair corresponding to the supplied key.
Sourcepub fn get_seal_with<C>(
this: Seal<'_, Self>,
hash: u64,
cmp: C,
) -> Option<Seal<'_, T>>
pub fn get_seal_with<C>( this: Seal<'_, Self>, hash: u64, cmp: C, ) -> Option<Seal<'_, T>>
Returns the mutable key-value pair corresponding to the supplied key.
Sourcepub fn raw_iter(&self) -> RawIter<T> ⓘ
pub fn raw_iter(&self) -> RawIter<T> ⓘ
Returns an iterator over the entry pointers in the hash table.
Sourcepub fn raw_iter_seal(this: Seal<'_, Self>) -> RawIter<T> ⓘ
pub fn raw_iter_seal(this: Seal<'_, Self>) -> RawIter<T> ⓘ
Returns a sealed iterator over the entry pointers in the hash table.
Sourcepub fn serialize_from_iter<I, U, H, S>(
items: I,
hashes: H,
load_factor: (usize, usize),
serializer: &mut S,
) -> Result<HashTableResolver, S::Error>
pub fn serialize_from_iter<I, U, H, S>( items: I, hashes: H, load_factor: (usize, usize), serializer: &mut S, ) -> Result<HashTableResolver, S::Error>
Serializes an iterator of items as a hash table.
Sourcepub fn resolve_from_len(
len: usize,
load_factor: (usize, usize),
resolver: HashTableResolver,
out: Place<Self>,
)
pub fn resolve_from_len( len: usize, load_factor: (usize, usize), resolver: HashTableResolver, out: Place<Self>, )
Resolves an archived hash table from a given length and parameters.
Trait Implementations§
Source§impl<T, __C: Fallible + ?Sized> CheckBytes<__C> for ArchivedHashTable<T>where
<__C as Fallible>::Error: Trace,
ArchivedHashTable<T>: Verify<__C>,
RawRelPtr: CheckBytes<__C>,
ArchivedUsize: CheckBytes<__C>,
PhantomData<T>: CheckBytes<__C>,
impl<T, __C: Fallible + ?Sized> CheckBytes<__C> for ArchivedHashTable<T>where
<__C as Fallible>::Error: Trace,
ArchivedHashTable<T>: Verify<__C>,
RawRelPtr: CheckBytes<__C>,
ArchivedUsize: CheckBytes<__C>,
PhantomData<T>: CheckBytes<__C>,
Source§impl<C, T> Verify<C> for ArchivedHashTable<T>
impl<C, T> Verify<C> for ArchivedHashTable<T>
impl<T> Portable for ArchivedHashTable<T>
Auto Trait Implementations§
impl<T> Freeze for ArchivedHashTable<T>
impl<T> RefUnwindSafe for ArchivedHashTable<T>where
T: RefUnwindSafe,
impl<T> Send for ArchivedHashTable<T>where
T: Send,
impl<T> Sync for ArchivedHashTable<T>where
T: Sync,
impl<T> !Unpin for ArchivedHashTable<T>
impl<T> !UnsafeUnpin for ArchivedHashTable<T>
impl<T> UnwindSafe for ArchivedHashTable<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.