47 #ifndef ABSL_CONTAINER_BTREE_MAP_H_
48 #define ABSL_CONTAINER_BTREE_MAP_H_
50 #include "absl/container/internal/btree.h"
51 #include "absl/container/internal/btree_container.h"
71 template <
typename Key,
typename Value,
typename Compare = std::less<Key>,
72 typename Alloc = std::allocator<std::pair<const Key, Value>>>
74 :
public container_internal::btree_map_container<
75 container_internal::btree<container_internal::map_params<
76 Key, Value, Compare, Alloc, 256,
78 using Base =
typename btree_map::btree_map_container;
153 using Base::max_size;
251 using Base::insert_or_assign;
282 using Base::emplace_hint;
309 using Base::try_emplace;
389 using Base::equal_range;
417 using Base::operator[];
422 using Base::get_allocator;
427 using Base::key_comp;
432 using Base::value_comp;
438 template <
typename K,
typename V,
typename C,
typename A>
439 void swap(btree_map<K, V, C, A> &x, btree_map<K, V, C, A> &
y) {
446 template <
typename K,
typename V,
typename C,
typename A,
typename Pred>
448 for (
auto it =
map.begin();
it !=
map.end();) {
473 template <
typename Key,
typename Value,
typename Compare = std::less<Key>,
474 typename Alloc = std::allocator<std::pair<const Key, Value>>>
476 :
public container_internal::btree_multimap_container<
477 container_internal::btree<container_internal::map_params<
478 Key, Value, Compare, Alloc, 256,
480 using Base =
typename btree_multimap::btree_multimap_container;
555 using Base::max_size;
640 using Base::emplace_hint;
714 using Base::equal_range;
730 using Base::get_allocator;
735 using Base::key_comp;
740 using Base::value_comp;
746 template <
typename K,
typename V,
typename C,
typename A>
747 void swap(btree_multimap<K, V, C, A> &x, btree_multimap<K, V, C, A> &
y) {
754 template <
typename K,
typename V,
typename C,
typename A,
typename Pred>
756 for (
auto it =
map.begin();
it !=
map.end();) {
768 #endif // ABSL_CONTAINER_BTREE_MAP_H_