diff options
| author | Ryan Thomas <ryan@ryant.org> | 2016-02-02 14:29:48 +1100 |
|---|---|---|
| committer | Ryan Thomas <ryan@ryant.org> | 2016-02-11 05:01:04 +0000 |
| commit | ca7f550a6ecac44418f769e758955265da3e18fa (patch) | |
| tree | 81930ca8de8a3b305cb7d2e7adfc541b42da933d /src/libstd | |
| parent | b94cd7a5bd488324e39047682e1e4dad9c08fa93 (diff) | |
| download | rust-ca7f550a6ecac44418f769e758955265da3e18fa.tar.gz rust-ca7f550a6ecac44418f769e758955265da3e18fa.zip | |
Add a public hasher function for HashSet and HashMap
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/collections/hash/map.rs | 7 | ||||
| -rw-r--r-- | src/libstd/collections/hash/set.rs | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index 173214eda44..d8748d09d04 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -642,6 +642,13 @@ impl<K, V, S> HashMap<K, V, S> HashMap::with_capacity_and_hasher(capacity, hash_state) } + /// Returns a reference to the map's hasher. + #[unstable(feature = "hashmap_public_hasher", reason = "don't want to make insta-stable", + issue = "31262")] + pub fn hasher(&self) -> &S { + &self.hash_builder + } + /// Returns the number of elements the map can hold without reallocating. /// /// This number is a lower bound; the `HashMap<K, V>` might be able to hold diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs index b5f47853afd..5c58cd9dfbf 100644 --- a/src/libstd/collections/hash/set.rs +++ b/src/libstd/collections/hash/set.rs @@ -193,6 +193,13 @@ impl<T, S> HashSet<T, S> } } + /// Returns a reference to the set's hasher. + #[unstable(feature = "hashmap_public_hasher", reason = "don't want to make insta-stable", + issue = "31262")] + pub fn hasher(&self) -> &S { + self.map.hasher() + } + /// Deprecated, renamed to `with_hasher` #[inline] #[unstable(feature = "hashmap_hasher", reason = "hasher stuff is unclear", |
