summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/util/unordered-containers.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/util/unordered-containers.h b/src/util/unordered-containers.h
index 70d36c4dc..98c2fa3c9 100644
--- a/src/util/unordered-containers.h
+++ b/src/util/unordered-containers.h
@@ -19,8 +19,24 @@
#include <glibmm/ustring.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
-#if defined(HAVE_TR1_UNORDERED_SET)
+#if defined(HAVE_NATIVE_UNORDERED_SET)
+# include <unordered_set>
+# include <unordered_map>
+# define INK_UNORDERED_SET std::unordered_set
+# define INK_UNORDERED_MAP std::unordered_map
+# define INK_HASH std::hash
+
+namespace std {
+template <>
+struct hash<Glib::ustring> : public std::unary_function<Glib::ustring, std::size_t> {
+ std::size_t operator()(Glib::ustring const &s) const {
+ return hash<std::string>()(s.raw());
+ }
+};
+} // namespace std
+
+#elif defined(HAVE_TR1_UNORDERED_SET)
# include <tr1/unordered_set>
# include <tr1/unordered_map>
# define INK_UNORDERED_SET std::tr1::unordered_set