summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2014-01-14 19:05:56 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2014-01-14 19:05:56 +0000
commit53fe5bb2f9a2f4956ad63ac42df2047a8b8705ec (patch)
tree8edda195793e1b56711ad617c90667ba1a657f62 /src
parentFix bzr revision number in version string (LP #1071923) (diff)
downloadinkscape-53fe5bb2f9a2f4956ad63ac42df2047a8b8705ec.tar.gz
inkscape-53fe5bb2f9a2f4956ad63ac42df2047a8b8705ec.zip
fix warnings on compilers that provide unordered_set
(bzr r12929)
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