Export of internal Abseil changes

--
3e6352709da9a529e608eabff862a12bfaecb587 by Gennadiy Rozental <rogeeff@google.com>:

Replace local copy of FastTypeId with one shared in absl/base/internal.

PiperOrigin-RevId: 304181357

--
c89ea428f732226f4dceb508cd6ba3955a1e49e1 by Andy Getzendanner <durandal@google.com>:

Typo fix: add a missing colon.

PiperOrigin-RevId: 304064210

--
de2ee7a96bdc7193ffcceb6a2fd6bf464955cbe7 by Samuel Benzaquen <sbenza@google.com>:

Reduce the overhead of the registration token by using an empty struct instead
of bool.

PiperOrigin-RevId: 304054311

--
222f05d24fb1df7e815946543a7dc78847c83f92 by Derek Mauro <dmauro@google.com>:

Turn off hashtablez in opensource builds.

Hashtablez is an unsupported, internal-only feature for collecting
information about hashtable usage and performance. By turning it off
in builds where it is unsupported, we get just a little more performance.

PiperOrigin-RevId: 304035460
GitOrigin-RevId: 3e6352709da9a529e608eabff862a12bfaecb587
Change-Id: I0bfe9b5df808a7e35c154b39e6c80e68b0da2b70
This commit is contained in:
Abseil Team 2020-04-01 07:32:27 -07:00 committed by Andy Getz
parent fba8a316c3
commit 62f05b1f57
11 changed files with 47 additions and 35 deletions

View file

@ -16,6 +16,7 @@
#include <memory>
#include "absl/base/internal/raw_logging.h"
#include "absl/container/internal/hash_generator_testing.h"
#include "absl/container/internal/unordered_map_constructor_test.h"
#include "absl/container/internal/unordered_map_lookup_test.h"
@ -34,6 +35,19 @@ using ::testing::IsEmpty;
using ::testing::Pair;
using ::testing::UnorderedElementsAre;
// Check that absl::flat_hash_map works in a global constructor.
struct BeforeMain {
BeforeMain() {
absl::flat_hash_map<int, int> x;
x.insert({1, 1});
ABSL_RAW_CHECK(x.find(0) == x.end(), "x should not contain 0");
auto it = x.find(1);
ABSL_RAW_CHECK(it != x.end(), "x should contain 1");
ABSL_RAW_CHECK(it->second, "1 should map to 1");
}
};
const BeforeMain before_main;
template <class K, class V>
using Map = flat_hash_map<K, V, StatefulTestingHash, StatefulTestingEqual,
Alloc<std::pair<const K, V>>>;