|
|
|
@ -50,19 +50,6 @@ |
|
|
|
|
|
|
|
|
|
#include "gtest/gtest.h" |
|
|
|
|
|
|
|
|
|
// hash_map and hash_set are available under Visual C++, or on Linux.
|
|
|
|
|
#if GTEST_HAS_UNORDERED_MAP_ |
|
|
|
|
# include <unordered_map> // NOLINT
|
|
|
|
|
#elif GTEST_HAS_HASH_MAP_ |
|
|
|
|
# include <hash_map> // NOLINT
|
|
|
|
|
#endif // GTEST_HAS_HASH_MAP_
|
|
|
|
|
|
|
|
|
|
#if GTEST_HAS_UNORDERED_SET_ |
|
|
|
|
# include <unordered_set> // NOLINT
|
|
|
|
|
#elif GTEST_HAS_HASH_SET_ |
|
|
|
|
# include <hash_set> // NOLINT
|
|
|
|
|
#endif // GTEST_HAS_HASH_SET_
|
|
|
|
|
|
|
|
|
|
#if GTEST_HAS_STD_FORWARD_LIST_ |
|
|
|
|
# include <forward_list> // NOLINT
|
|
|
|
|
#endif // GTEST_HAS_STD_FORWARD_LIST_
|
|
|
|
@ -240,50 +227,6 @@ using ::testing::internal::UniversalTersePrint; |
|
|
|
|
using ::testing::internal::UniversalTersePrintTupleFieldsToStrings; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// The hash_* classes are not part of the C++ standard. STLport
|
|
|
|
|
// defines them in namespace std. MSVC defines them in ::stdext. GCC
|
|
|
|
|
// defines them in ::.
|
|
|
|
|
#if GTEST_HAS_UNORDERED_MAP_ |
|
|
|
|
|
|
|
|
|
#define GTEST_HAS_HASH_MAP_ 1 |
|
|
|
|
template <class Key, class T> |
|
|
|
|
using hash_map = ::std::unordered_map<Key, T>; |
|
|
|
|
template <class Key, class T> |
|
|
|
|
using hash_multimap = ::std::unordered_multimap<Key, T>; |
|
|
|
|
|
|
|
|
|
#elif GTEST_HAS_HASH_MAP_ |
|
|
|
|
|
|
|
|
|
#ifdef _STLP_HASH_MAP // We got <hash_map> from STLport.
|
|
|
|
|
using ::std::hash_map; |
|
|
|
|
using ::std::hash_multimap; |
|
|
|
|
#elif _MSC_VER |
|
|
|
|
using ::stdext::hash_map; |
|
|
|
|
using ::stdext::hash_multimap; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if GTEST_HAS_UNORDERED_SET_ |
|
|
|
|
|
|
|
|
|
#define GTEST_HAS_HASH_SET_ 1 |
|
|
|
|
template <class Key> |
|
|
|
|
using hash_set = ::std::unordered_set<Key>; |
|
|
|
|
template <class Key> |
|
|
|
|
using hash_multiset = ::std::unordered_multiset<Key>; |
|
|
|
|
|
|
|
|
|
#elif GTEST_HAS_HASH_SET_ |
|
|
|
|
|
|
|
|
|
#ifdef _STLP_HASH_MAP // We got <hash_map> from STLport.
|
|
|
|
|
using ::std::hash_map; |
|
|
|
|
using ::std::hash_multimap; |
|
|
|
|
#elif _MSC_VER |
|
|
|
|
using ::stdext::hash_map; |
|
|
|
|
using ::stdext::hash_multimap; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// Prints a value to a string using the universal value printer. This
|
|
|
|
|
// is a helper for testing UniversalPrinter<T>::Print() for various types.
|
|
|
|
|
template <typename T> |
|
|
|
|