f0afae0d49
-- 0f6565955231dc74ebad62ef32a18c457afa2dc7 by Abseil Team <absl-team@google.com>: Document guarantee that we do not move from rvalue arguments if no insertion happens with absl::raw_hash_map::try_emplace, as done with std::unordered_map::try_emplace. PiperOrigin-RevId: 264430409 -- 292e6b9e08fa689e8400d7f2db94cbcab29d5889 by CJ Johnson <johnsoncj@google.com>: Removes use of aligned_storage in FixedArray and InlinedVector in favor of aligned char buffers. PiperOrigin-RevId: 264385559 -- aa0b19ad11ae5702022feee0e2e6434cfb28c9e9 by Derek Mauro <dmauro@google.com>: Make the unit tests for absl::any, absl::optional, and absl::variant no-ops when these types are just aliases for the corresponding std:: types. We have no way to fix standard library implementation bugs, so don't bother working around them. Also disable the corresponding exception-safety tests as well when exceptions are not enabled. Fixes https://github.com/abseil/abseil-cpp/pull/360 PiperOrigin-RevId: 264382050 -- 65896a911f36481b89b4712c83b91c90a76b64e8 by Abseil Team <absl-team@google.com>: Improve documentation on erase PiperOrigin-RevId: 264381266 GitOrigin-RevId: 0f6565955231dc74ebad62ef32a18c457afa2dc7 Change-Id: I74b9bd2ddf84526014104f17e87de70bd3fe65fa
48 lines
1.9 KiB
C++
48 lines
1.9 KiB
C++
// Copyright 2018 The Abseil Authors.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// https://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#include <memory>
|
|
#include <unordered_map>
|
|
|
|
#include "absl/container/internal/unordered_map_constructor_test.h"
|
|
#include "absl/container/internal/unordered_map_lookup_test.h"
|
|
#include "absl/container/internal/unordered_map_members_test.h"
|
|
#include "absl/container/internal/unordered_map_modifiers_test.h"
|
|
|
|
namespace absl {
|
|
namespace container_internal {
|
|
namespace {
|
|
|
|
using MapTypes = ::testing::Types<
|
|
std::unordered_map<int, int, StatefulTestingHash, StatefulTestingEqual,
|
|
Alloc<std::pair<const int, int>>>,
|
|
std::unordered_map<std::string, std::string, StatefulTestingHash,
|
|
StatefulTestingEqual,
|
|
Alloc<std::pair<const std::string, std::string>>>>;
|
|
|
|
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, ConstructorTest, MapTypes);
|
|
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, LookupTest, MapTypes);
|
|
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, MembersTest, MapTypes);
|
|
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, ModifiersTest, MapTypes);
|
|
|
|
using UniquePtrMapTypes = ::testing::Types<std::unordered_map<
|
|
int, std::unique_ptr<int>, StatefulTestingHash, StatefulTestingEqual,
|
|
Alloc<std::pair<const int, std::unique_ptr<int>>>>>;
|
|
|
|
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, UniquePtrModifiersTest,
|
|
UniquePtrMapTypes);
|
|
|
|
} // namespace
|
|
} // namespace container_internal
|
|
} // namespace absl
|