Module std::collections::hash_map::raw_table
[−]
[src]
Reexports
use core::prelude::v1::*; |
use alloc::heap::{allocate, deallocate, EMPTY}; |
use cmp; |
use hash::{Hash, Hasher}; |
use marker; |
use mem::{align_of, size_of}; |
use mem; |
use num::wrapping::OverflowingOps; |
use ops::{Deref, DerefMut}; |
use ptr::{self, Unique}; |
use super::super::hash_state::HashState; |
use self::BucketState::*; |
Structs
Bucket | |
Drain |
Iterator over the entries in a table, clearing the table. |
EmptyBucket | |
FullBucket | |
GapThenFull | |
IntoIter |
Iterator over the entries in a table, consuming the table. |
Iter |
Iterator over shared references to entries in a table. |
IterMut |
Iterator over mutable references to entries in a table. |
RawBucket | |
RawBuckets |
A raw iterator. The basis for some other iterators in this module. Although this interface is safe, it's not used outside this module. |
RawTable |
The raw hashtable, providing safe-ish access to the unzipped and highly optimized arrays of hashes, keys, and values. |
RevMoveBuckets |
An iterator that moves out buckets in reverse order. It leaves the table in an inconsistent state and should only be used for dropping the table's remaining entries. It's used in the implementation of Drop. |
SafeHash |
A hash that is not zero, since we use a hash of zero to represent empty buckets. |
Enums
BucketState |
Constants
EMPTY_BUCKET |
Functions
calculate_allocation | |
calculate_offsets | |
make_hash |
We need to remove hashes of 0. That's reserved for empty buckets.
This function wraps up |
round_up_to_next |
Rounds up to a multiple of a power of two. Returns the closest multiple
of |
Type Definitions
EmptyBucketImm | |
EmptyBucketMut | |
FullBucketImm | |
FullBucketMut |