about summary refs log tree commit diff
path: root/src/libstd/map.rs
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2012-08-14 16:45:00 -0700
committerGraydon Hoare <graydon@mozilla.com>2012-08-14 16:45:51 -0700
commitc1fad0775844a9413484fd2eaa10adcfdfbc2883 (patch)
tree630a30b0c7d681e7fdd69a95c6df117d9ec9519c /src/libstd/map.rs
parent958df4b0031654c6e9b03997e956a21ede289660 (diff)
downloadrust-c1fad0775844a9413484fd2eaa10adcfdfbc2883.tar.gz
rust-c1fad0775844a9413484fd2eaa10adcfdfbc2883.zip
Add a map::str_slice_map constructor to libstd.
Diffstat (limited to 'src/libstd/map.rs')
-rw-r--r--src/libstd/map.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstd/map.rs b/src/libstd/map.rs
index 071ef5952e0..699cf7a66e9 100644
--- a/src/libstd/map.rs
+++ b/src/libstd/map.rs
@@ -389,6 +389,12 @@ fn hashmap<K: const, V: copy>(+hasher: hashfn<K>, +eqer: eqfn<K>)
     chained::mk(hasher, eqer)
 }
 
+/// Construct a hashmap for string-slice keys
+fn str_slice_hash<V: copy>() -> hashmap<&str, V> {
+    return hashmap(|s| hash::hash_str(*s) as uint,
+                   |a,b| str::eq_slice(*a, *b));
+}
+
 /// Construct a hashmap for string keys
 fn str_hash<V: copy>() -> hashmap<~str, V> {
     return hashmap(str::hash, str::eq);