Go to the documentation of this file.
50 #ifndef ABSL_CONTAINER_BTREE_MAP_H_
51 #define ABSL_CONTAINER_BTREE_MAP_H_
53 #include "absl/container/internal/btree.h"
54 #include "absl/container/internal/btree_container.h"
59 namespace container_internal {
61 template <
typename Key,
typename Data,
typename Compare,
typename Alloc,
62 int TargetNodeSize,
bool IsMulti>
82 template <
typename Key,
typename Value,
typename Compare = std::less<Key>,
83 typename Alloc = std::allocator<std::pair<const Key, Value>>>
86 container_internal::btree<container_internal::map_params<
87 Key, Value, Compare, Alloc, 256,
89 using Base =
typename btree_map::btree_map_container;
164 using Base::max_size;
262 using Base::insert_or_assign;
293 using Base::emplace_hint;
320 using Base::try_emplace;
400 using Base::equal_range;
423 using Base::lower_bound;
435 using Base::upper_bound;
452 using Base::operator[];
457 using Base::get_allocator;
462 using Base::key_comp;
467 using Base::value_comp;
473 template <
typename K,
typename V,
typename C,
typename A>
482 template <
typename K,
typename V,
typename C,
typename A,
typename Pred>
504 template <
typename Key,
typename Value,
typename Compare = std::less<Key>,
505 typename Alloc = std::allocator<std::pair<const Key, Value>>>
508 container_internal::btree<container_internal::map_params<
509 Key, Value, Compare, Alloc, 256,
511 using Base =
typename btree_multimap::btree_multimap_container;
586 using Base::max_size;
671 using Base::emplace_hint;
744 using Base::equal_range;
767 using Base::lower_bound;
779 using Base::upper_bound;
784 using Base::get_allocator;
789 using Base::key_comp;
794 using Base::value_comp;
800 template <
typename K,
typename V,
typename C,
typename A>
809 template <
typename K,
typename V,
typename C,
typename A,
typename Pred>
815 namespace container_internal {
819 template <
typename Key,
typename Data,
typename Compare,
typename Alloc,
820 int TargetNodeSize,
bool IsMulti>
821 struct map_params : common_params<Key, Compare, Alloc, TargetNodeSize, IsMulti,
822 true, map_slot_policy<Key, Data>> {
832 template <
typename V>
840 -> decltype(slot_policy::mutable_key(s)) {
841 return slot_policy::mutable_key(
s);
851 #endif // ABSL_CONTAINER_BTREE_MAP_H_
static void ** find(grpc_chttp2_stream_map *map, uint32_t key)
static mapped_type & value(value_type *value)
static auto mutable_key(slot_type *s) -> decltype(slot_policy::mutable_key(s))
typename super_type::value_type value_type
#define ABSL_NAMESPACE_END
typename map_params::common_params super_type
static auto erase_if(BtreeContainer &container, Pred pred) -> typename BtreeContainer::size_type
#define ABSL_NAMESPACE_BEGIN
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
void swap(btree_map< K, V, C, A > &x, btree_map< K, V, C, A > &y)
int extract(FILE *in, struct access *index, off_t offset, unsigned char *buf, int len)
btree_map< K, V, C, A >::size_type erase_if(btree_map< K, V, C, A > &map, Pred pred)
void * Alloc(FlagOpFn op)
static auto key(const V &value) -> decltype(value.first)
static const Key & key(slot_type *s)
static void insert(upb_table *t, lookupkey_t key, upb_tabkey tabkey, upb_value val, uint32_t hash, hashfunc_t *hashfunc, eqlfunc_t *eql)
internal::KeyMatcher< M > Key(M inner_matcher)
static const Key & key(const slot_type *s)
typename super_type::slot_policy slot_policy
int Compare(const BigUnsigned< N > &lhs, const BigUnsigned< M > &rhs)
typename super_type::init_type init_type
typename super_type::slot_type slot_type
static int contains(grpc_timer_heap *pq, grpc_timer *el)
def merge(callgrind_files, srcs)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:50