Workaround for some template syntax not supported in old versions of Visual C++ 6.5

[SVN r47040]
This commit is contained in:
Daniel James
2008-07-03 14:34:56 +00:00
parent ec1e809fc3
commit 3640e1e96c
2 changed files with 24 additions and 0 deletions

View File

@ -422,9 +422,15 @@ namespace boost
base.rehash(n); 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 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&); friend std::size_t hash_value<>(unordered_map const&);
#endif
}; // class template unordered_map }; // class template unordered_map
template <class K, class T, class H, class P, class A> template <class K, class T, class H, class P, class A>
@ -796,9 +802,15 @@ namespace boost
base.rehash(n); 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 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&); friend std::size_t hash_value<>(unordered_multimap const&);
#endif
}; // class template unordered_multimap }; // class template unordered_multimap
template <class K, class T, class H, class P, class A> template <class K, class T, class H, class P, class A>

View File

@ -392,9 +392,15 @@ namespace boost
base.rehash(n); 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 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&); friend std::size_t hash_value<>(unordered_set const&);
#endif
}; // class template unordered_set }; // class template unordered_set
template <class T, class H, class P, class A> template <class T, class H, class P, class A>
@ -752,9 +758,15 @@ namespace boost
base.rehash(n); 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 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&); friend std::size_t hash_value<>(unordered_multiset const&);
#endif
}; // class template unordered_multiset }; // class template unordered_multiset
template <class T, class H, class P, class A> template <class T, class H, class P, class A>