From 3640e1e96ca4cfa8feed9132e3cb89553fa77092 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Thu, 3 Jul 2008 14:34:56 +0000 Subject: [PATCH] Workaround for some template syntax not supported in old versions of Visual C++ 6.5 [SVN r47040] --- include/boost/unordered_map.hpp | 12 ++++++++++++ include/boost/unordered_set.hpp | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/boost/unordered_map.hpp b/include/boost/unordered_map.hpp index cf6562b3..093c7697 100644 --- a/include/boost/unordered_map.hpp +++ b/include/boost/unordered_map.hpp @@ -422,9 +422,15 @@ namespace boost base.rehash(n); } +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + friend bool operator==(unordered_map const&, unordered_map const&); + friend bool operator!=(unordered_map const&, unordered_map const&); + friend std::size_t hash_value(unordered_map const&); +#else friend bool operator==<>(unordered_map const&, unordered_map const&); friend bool operator!=<>(unordered_map const&, unordered_map const&); friend std::size_t hash_value<>(unordered_map const&); +#endif }; // class template unordered_map template @@ -796,9 +802,15 @@ namespace boost base.rehash(n); } +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + friend bool operator==(unordered_multimap const&, unordered_multimap const&); + friend bool operator!=(unordered_multimap const&, unordered_multimap const&); + friend std::size_t hash_value(unordered_multimap const&); +#else friend bool operator==<>(unordered_multimap const&, unordered_multimap const&); friend bool operator!=<>(unordered_multimap const&, unordered_multimap const&); friend std::size_t hash_value<>(unordered_multimap const&); +#endif }; // class template unordered_multimap template diff --git a/include/boost/unordered_set.hpp b/include/boost/unordered_set.hpp index f68502e3..1addae10 100644 --- a/include/boost/unordered_set.hpp +++ b/include/boost/unordered_set.hpp @@ -392,9 +392,15 @@ namespace boost base.rehash(n); } +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + friend bool operator==(unordered_set const&, unordered_set const&); + friend bool operator!=(unordered_set const&, unordered_set const&); + friend std::size_t hash_value(unordered_set const&); +#else friend bool operator==<>(unordered_set const&, unordered_set const&); friend bool operator!=<>(unordered_set const&, unordered_set const&); friend std::size_t hash_value<>(unordered_set const&); +#endif }; // class template unordered_set template @@ -752,9 +758,15 @@ namespace boost base.rehash(n); } +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + friend bool operator==(unordered_multiset const&, unordered_multiset const&); + friend bool operator!=(unordered_multiset const&, unordered_multiset const&); + friend std::size_t hash_value(unordered_multiset const&); +#else friend bool operator==<>(unordered_multiset const&, unordered_multiset const&); friend bool operator!=<>(unordered_multiset const&, unordered_multiset const&); friend std::size_t hash_value<>(unordered_multiset const&); +#endif }; // class template unordered_multiset template