abseil-cpp/absl/container/internal/btree_container.h
Go to the documentation of this file.
1 // Copyright 2018 The Abseil Authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef ABSL_CONTAINER_INTERNAL_BTREE_CONTAINER_H_
16 #define ABSL_CONTAINER_INTERNAL_BTREE_CONTAINER_H_
17 
18 #include <algorithm>
19 #include <initializer_list>
20 #include <iterator>
21 #include <utility>
22 
23 #include "absl/base/attributes.h"
24 #include "absl/base/internal/throw_delegate.h"
25 #include "absl/container/internal/btree.h" // IWYU pragma: export
26 #include "absl/container/internal/common.h"
27 #include "absl/memory/memory.h"
28 #include "absl/meta/type_traits.h"
29 
30 namespace absl {
32 namespace container_internal {
33 
34 // A common base class for btree_set, btree_map, btree_multiset, and
35 // btree_multimap.
36 template <typename Tree>
38  using params_type = typename Tree::params_type;
39 
40  protected:
41  // Alias used for heterogeneous lookup functions.
42  // `key_arg<K>` evaluates to `K` when the functors are transparent and to
43  // `key_type` otherwise. It permits template argument deduction on `K` for the
44  // transparent case.
45  template <class K>
46  using key_arg =
48  K, typename Tree::key_type>;
49 
50  public:
51  using key_type = typename Tree::key_type;
52  using value_type = typename Tree::value_type;
53  using size_type = typename Tree::size_type;
54  using difference_type = typename Tree::difference_type;
55  using key_compare = typename Tree::original_key_compare;
56  using value_compare = typename Tree::value_compare;
57  using allocator_type = typename Tree::allocator_type;
58  using reference = typename Tree::reference;
60  using pointer = typename Tree::pointer;
62  using iterator = typename Tree::iterator;
63  using const_iterator = typename Tree::const_iterator;
64  using reverse_iterator = typename Tree::reverse_iterator;
65  using const_reverse_iterator = typename Tree::const_reverse_iterator;
66  using node_type = typename Tree::node_handle_type;
67 
68  // Constructors/assignments.
70  explicit btree_container(const key_compare &comp,
72  : tree_(comp, alloc) {}
74  : tree_(key_compare(), alloc) {}
75 
78  select_on_container_copy_construction(
79  other.get_allocator())) {}
81  : tree_(other.tree_, alloc) {}
82 
83  btree_container(btree_container &&other) noexcept(
86  : tree_(std::move(other.tree_), alloc) {}
87 
88  btree_container &operator=(const btree_container &other) = default;
89  btree_container &operator=(btree_container &&other) noexcept(
91 
92  // Iterator routines.
93  iterator begin() { return tree_.begin(); }
94  const_iterator begin() const { return tree_.begin(); }
95  const_iterator cbegin() const { return tree_.begin(); }
96  iterator end() { return tree_.end(); }
97  const_iterator end() const { return tree_.end(); }
98  const_iterator cend() const { return tree_.end(); }
99  reverse_iterator rbegin() { return tree_.rbegin(); }
100  const_reverse_iterator rbegin() const { return tree_.rbegin(); }
101  const_reverse_iterator crbegin() const { return tree_.rbegin(); }
102  reverse_iterator rend() { return tree_.rend(); }
103  const_reverse_iterator rend() const { return tree_.rend(); }
104  const_reverse_iterator crend() const { return tree_.rend(); }
105 
106  // Lookup routines.
107  template <typename K = key_type>
108  size_type count(const key_arg<K> &key) const {
109  auto equal_range = this->equal_range(key);
110  return std::distance(equal_range.first, equal_range.second);
111  }
112  template <typename K = key_type>
114  return tree_.find(key);
115  }
116  template <typename K = key_type>
118  return tree_.find(key);
119  }
120  template <typename K = key_type>
121  bool contains(const key_arg<K> &key) const {
122  return find(key) != end();
123  }
124  template <typename K = key_type>
126  return tree_.lower_bound(key);
127  }
128  template <typename K = key_type>
130  return tree_.lower_bound(key);
131  }
132  template <typename K = key_type>
134  return tree_.upper_bound(key);
135  }
136  template <typename K = key_type>
138  return tree_.upper_bound(key);
139  }
140  template <typename K = key_type>
141  std::pair<iterator, iterator> equal_range(const key_arg<K> &key) {
142  return tree_.equal_range(key);
143  }
144  template <typename K = key_type>
145  std::pair<const_iterator, const_iterator> equal_range(
146  const key_arg<K> &key) const {
147  return tree_.equal_range(key);
148  }
149 
150  // Deletion routines. Note that there is also a deletion routine that is
151  // specific to btree_set_container/btree_multiset_container.
152 
153  // Erase the specified iterator from the btree. The iterator must be valid
154  // (i.e. not equal to end()). Return an iterator pointing to the node after
155  // the one that was erased (or end() if none exists).
157  iterator erase(iterator iter) { return tree_.erase(iter); }
159  return tree_.erase_range(iterator(first), iterator(last)).second;
160  }
161  template <typename K = key_type>
163  auto equal_range = this->equal_range(key);
164  return tree_.erase_range(equal_range.first, equal_range.second).first;
165  }
166 
167  // Extract routines.
169  // Use Construct instead of Transfer because the rebalancing code will
170  // destroy the slot later.
171  auto node =
172  CommonAccess::Construct<node_type>(get_allocator(), position.slot());
173  erase(position);
174  return node;
175  }
177  return extract(iterator(position));
178  }
179 
180  // Utility routines.
182  void swap(btree_container &other) { tree_.swap(other.tree_); }
183  void verify() const { tree_.verify(); }
184 
185  // Size routines.
186  size_type size() const { return tree_.size(); }
187  size_type max_size() const { return tree_.max_size(); }
188  bool empty() const { return tree_.empty(); }
189 
190  friend bool operator==(const btree_container &x, const btree_container &y) {
191  if (x.size() != y.size()) return false;
192  return std::equal(x.begin(), x.end(), y.begin());
193  }
194 
195  friend bool operator!=(const btree_container &x, const btree_container &y) {
196  return !(x == y);
197  }
198 
199  friend bool operator<(const btree_container &x, const btree_container &y) {
200  return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());
201  }
202 
203  friend bool operator>(const btree_container &x, const btree_container &y) {
204  return y < x;
205  }
206 
207  friend bool operator<=(const btree_container &x, const btree_container &y) {
208  return !(y < x);
209  }
210 
211  friend bool operator>=(const btree_container &x, const btree_container &y) {
212  return !(x < y);
213  }
214 
215  // The allocator used by the btree.
216  allocator_type get_allocator() const { return tree_.get_allocator(); }
217 
218  // The key comparator used by the btree.
219  key_compare key_comp() const { return key_compare(tree_.key_comp()); }
220  value_compare value_comp() const { return tree_.value_comp(); }
221 
222  // Support absl::Hash.
223  template <typename State>
224  friend State AbslHashValue(State h, const btree_container &b) {
225  for (const auto &v : b) {
226  h = State::combine(std::move(h), v);
227  }
228  return State::combine(std::move(h), b.size());
229  }
230 
231  protected:
232  friend struct btree_access;
233  Tree tree_;
234 };
235 
236 // A common base class for btree_set and btree_map.
237 template <typename Tree>
238 class btree_set_container : public btree_container<Tree> {
240  using params_type = typename Tree::params_type;
241  using init_type = typename params_type::init_type;
242  using is_key_compare_to = typename params_type::is_key_compare_to;
243  friend class BtreeNodePeer;
244 
245  protected:
246  template <class K>
248 
249  public:
250  using key_type = typename Tree::key_type;
251  using value_type = typename Tree::value_type;
252  using size_type = typename Tree::size_type;
253  using key_compare = typename Tree::original_key_compare;
254  using allocator_type = typename Tree::allocator_type;
255  using iterator = typename Tree::iterator;
256  using const_iterator = typename Tree::const_iterator;
259 
260  // Inherit constructors.
261  using super_type::super_type;
263 
264  // Range constructors.
265  template <class InputIterator>
266  btree_set_container(InputIterator b, InputIterator e,
267  const key_compare &comp = key_compare(),
269  : super_type(comp, alloc) {
270  insert(b, e);
271  }
272  template <class InputIterator>
273  btree_set_container(InputIterator b, InputIterator e,
274  const allocator_type &alloc)
276 
277  // Initializer list constructors.
278  btree_set_container(std::initializer_list<init_type> init,
279  const key_compare &comp = key_compare(),
281  : btree_set_container(init.begin(), init.end(), comp, alloc) {}
282  btree_set_container(std::initializer_list<init_type> init,
283  const allocator_type &alloc)
285 
286  // Insertion routines.
287  std::pair<iterator, bool> insert(const value_type &v) {
288  return this->tree_.insert_unique(params_type::key(v), v);
289  }
290  std::pair<iterator, bool> insert(value_type &&v) {
291  return this->tree_.insert_unique(params_type::key(v), std::move(v));
292  }
293  template <typename... Args>
294  std::pair<iterator, bool> emplace(Args &&... args) {
295  // Use a node handle to manage a temp slot.
296  auto node = CommonAccess::Construct<node_type>(this->get_allocator(),
297  std::forward<Args>(args)...);
298  auto *slot = CommonAccess::GetSlot(node);
299  return this->tree_.insert_unique(params_type::key(slot), slot);
300  }
302  return this->tree_
303  .insert_hint_unique(iterator(hint), params_type::key(v), v)
304  .first;
305  }
307  return this->tree_
308  .insert_hint_unique(iterator(hint), params_type::key(v), std::move(v))
309  .first;
310  }
311  template <typename... Args>
313  // Use a node handle to manage a temp slot.
314  auto node = CommonAccess::Construct<node_type>(this->get_allocator(),
315  std::forward<Args>(args)...);
316  auto *slot = CommonAccess::GetSlot(node);
317  return this->tree_
318  .insert_hint_unique(iterator(hint), params_type::key(slot), slot)
319  .first;
320  }
321  template <typename InputIterator>
322  void insert(InputIterator b, InputIterator e) {
323  this->tree_.insert_iterator_unique(b, e, 0);
324  }
325  void insert(std::initializer_list<init_type> init) {
326  this->tree_.insert_iterator_unique(init.begin(), init.end(), 0);
327  }
329  if (!node) return {this->end(), false, node_type()};
330  std::pair<iterator, bool> res =
331  this->tree_.insert_unique(params_type::key(CommonAccess::GetSlot(node)),
332  CommonAccess::GetSlot(node));
333  if (res.second) {
334  CommonAccess::Destroy(&node);
335  return {res.first, true, node_type()};
336  } else {
337  return {res.first, false, std::move(node)};
338  }
339  }
341  if (!node) return this->end();
342  std::pair<iterator, bool> res = this->tree_.insert_hint_unique(
344  CommonAccess::GetSlot(node));
345  if (res.second) CommonAccess::Destroy(&node);
346  return res.first;
347  }
348 
349  // Node extraction routines.
350  template <typename K = key_type>
352  const std::pair<iterator, bool> lower_and_equal =
353  this->tree_.lower_bound_equal(key);
354  return lower_and_equal.second ? extract(lower_and_equal.first)
355  : node_type();
356  }
357  using super_type::extract;
358 
359  // Merge routines.
360  // Moves elements from `src` into `this`. If the element already exists in
361  // `this`, it is left unmodified in `src`.
362  template <
363  typename T,
364  typename absl::enable_if_t<
366  std::is_same<value_type, typename T::value_type>,
367  std::is_same<allocator_type, typename T::allocator_type>,
368  std::is_same<typename params_type::is_map_container,
369  typename T::params_type::is_map_container>>::value,
370  int> = 0>
371  void merge(btree_container<T> &src) { // NOLINT
372  for (auto src_it = src.begin(); src_it != src.end();) {
373  if (insert(std::move(params_type::element(src_it.slot()))).second) {
374  src_it = src.erase(src_it);
375  } else {
376  ++src_it;
377  }
378  }
379  }
380 
381  template <
382  typename T,
383  typename absl::enable_if_t<
385  std::is_same<value_type, typename T::value_type>,
386  std::is_same<allocator_type, typename T::allocator_type>,
387  std::is_same<typename params_type::is_map_container,
388  typename T::params_type::is_map_container>>::value,
389  int> = 0>
390  void merge(btree_container<T> &&src) {
391  merge(src);
392  }
393 };
394 
395 // Base class for btree_map.
396 template <typename Tree>
399  using params_type = typename Tree::params_type;
400  friend class BtreeNodePeer;
401 
402  private:
403  template <class K>
405 
406  public:
407  using key_type = typename Tree::key_type;
408  using mapped_type = typename params_type::mapped_type;
409  using value_type = typename Tree::value_type;
410  using key_compare = typename Tree::original_key_compare;
411  using allocator_type = typename Tree::allocator_type;
412  using iterator = typename Tree::iterator;
413  using const_iterator = typename Tree::const_iterator;
414 
415  // Inherit constructors.
418 
419  // Insertion routines.
420  // Note: the nullptr template arguments and extra `const M&` overloads allow
421  // for supporting bitfield arguments.
422  template <typename K = key_type, class M>
423  std::pair<iterator, bool> insert_or_assign(const key_arg<K> &k,
424  const M &obj) {
425  return insert_or_assign_impl(k, obj);
426  }
427  template <typename K = key_type, class M, K * = nullptr>
428  std::pair<iterator, bool> insert_or_assign(key_arg<K> &&k, const M &obj) {
429  return insert_or_assign_impl(std::forward<K>(k), obj);
430  }
431  template <typename K = key_type, class M, M * = nullptr>
432  std::pair<iterator, bool> insert_or_assign(const key_arg<K> &k, M &&obj) {
433  return insert_or_assign_impl(k, std::forward<M>(obj));
434  }
435  template <typename K = key_type, class M, K * = nullptr, M * = nullptr>
436  std::pair<iterator, bool> insert_or_assign(key_arg<K> &&k, M &&obj) {
437  return insert_or_assign_impl(std::forward<K>(k), std::forward<M>(obj));
438  }
439  template <typename K = key_type, class M>
441  const M &obj) {
442  return insert_or_assign_hint_impl(hint, k, obj);
443  }
444  template <typename K = key_type, class M, K * = nullptr>
446  return insert_or_assign_hint_impl(hint, std::forward<K>(k), obj);
447  }
448  template <typename K = key_type, class M, M * = nullptr>
450  return insert_or_assign_hint_impl(hint, k, std::forward<M>(obj));
451  }
452  template <typename K = key_type, class M, K * = nullptr, M * = nullptr>
454  return insert_or_assign_hint_impl(hint, std::forward<K>(k),
455  std::forward<M>(obj));
456  }
457 
458  template <typename K = key_type, typename... Args,
459  typename absl::enable_if_t<
461  std::pair<iterator, bool> try_emplace(const key_arg<K> &k, Args &&... args) {
462  return try_emplace_impl(k, std::forward<Args>(args)...);
463  }
464  template <typename K = key_type, typename... Args,
465  typename absl::enable_if_t<
467  std::pair<iterator, bool> try_emplace(key_arg<K> &&k, Args &&... args) {
468  return try_emplace_impl(std::forward<K>(k), std::forward<Args>(args)...);
469  }
470  template <typename K = key_type, typename... Args>
472  Args &&... args) {
473  return try_emplace_hint_impl(hint, k, std::forward<Args>(args)...);
474  }
475  template <typename K = key_type, typename... Args>
477  return try_emplace_hint_impl(hint, std::forward<K>(k),
478  std::forward<Args>(args)...);
479  }
480 
481  template <typename K = key_type>
483  return try_emplace(k).first->second;
484  }
485  template <typename K = key_type>
487  return try_emplace(std::forward<K>(k)).first->second;
488  }
489 
490  template <typename K = key_type>
492  auto it = this->find(key);
493  if (it == this->end())
494  base_internal::ThrowStdOutOfRange("absl::btree_map::at");
495  return it->second;
496  }
497  template <typename K = key_type>
498  const mapped_type &at(const key_arg<K> &key) const {
499  auto it = this->find(key);
500  if (it == this->end())
501  base_internal::ThrowStdOutOfRange("absl::btree_map::at");
502  return it->second;
503  }
504 
505  private:
506  // Note: when we call `std::forward<M>(obj)` twice, it's safe because
507  // insert_unique/insert_hint_unique are guaranteed to not consume `obj` when
508  // `ret.second` is false.
509  template <class K, class M>
510  std::pair<iterator, bool> insert_or_assign_impl(K &&k, M &&obj) {
511  const std::pair<iterator, bool> ret =
512  this->tree_.insert_unique(k, std::forward<K>(k), std::forward<M>(obj));
513  if (!ret.second) ret.first->second = std::forward<M>(obj);
514  return ret;
515  }
516  template <class K, class M>
518  const std::pair<iterator, bool> ret = this->tree_.insert_hint_unique(
519  iterator(hint), k, std::forward<K>(k), std::forward<M>(obj));
520  if (!ret.second) ret.first->second = std::forward<M>(obj);
521  return ret.first;
522  }
523 
524  template <class K, class... Args>
525  std::pair<iterator, bool> try_emplace_impl(K &&k, Args &&... args) {
526  return this->tree_.insert_unique(
527  k, std::piecewise_construct, std::forward_as_tuple(std::forward<K>(k)),
528  std::forward_as_tuple(std::forward<Args>(args)...));
529  }
530  template <class K, class... Args>
532  return this->tree_
533  .insert_hint_unique(iterator(hint), k, std::piecewise_construct,
534  std::forward_as_tuple(std::forward<K>(k)),
535  std::forward_as_tuple(std::forward<Args>(args)...))
536  .first;
537  }
538 };
539 
540 // A common base class for btree_multiset and btree_multimap.
541 template <typename Tree>
544  using params_type = typename Tree::params_type;
545  using init_type = typename params_type::init_type;
546  using is_key_compare_to = typename params_type::is_key_compare_to;
547  friend class BtreeNodePeer;
548 
549  template <class K>
551 
552  public:
553  using key_type = typename Tree::key_type;
554  using value_type = typename Tree::value_type;
555  using size_type = typename Tree::size_type;
556  using key_compare = typename Tree::original_key_compare;
557  using allocator_type = typename Tree::allocator_type;
558  using iterator = typename Tree::iterator;
559  using const_iterator = typename Tree::const_iterator;
561 
562  // Inherit constructors.
563  using super_type::super_type;
565 
566  // Range constructors.
567  template <class InputIterator>
568  btree_multiset_container(InputIterator b, InputIterator e,
569  const key_compare &comp = key_compare(),
571  : super_type(comp, alloc) {
572  insert(b, e);
573  }
574  template <class InputIterator>
575  btree_multiset_container(InputIterator b, InputIterator e,
576  const allocator_type &alloc)
578 
579  // Initializer list constructors.
580  btree_multiset_container(std::initializer_list<init_type> init,
581  const key_compare &comp = key_compare(),
583  : btree_multiset_container(init.begin(), init.end(), comp, alloc) {}
584  btree_multiset_container(std::initializer_list<init_type> init,
585  const allocator_type &alloc)
587 
588  // Insertion routines.
589  iterator insert(const value_type &v) { return this->tree_.insert_multi(v); }
591  return this->tree_.insert_multi(std::move(v));
592  }
594  return this->tree_.insert_hint_multi(iterator(hint), v);
595  }
597  return this->tree_.insert_hint_multi(iterator(hint), std::move(v));
598  }
599  template <typename InputIterator>
600  void insert(InputIterator b, InputIterator e) {
601  this->tree_.insert_iterator_multi(b, e);
602  }
603  void insert(std::initializer_list<init_type> init) {
604  this->tree_.insert_iterator_multi(init.begin(), init.end());
605  }
606  template <typename... Args>
608  // Use a node handle to manage a temp slot.
609  auto node = CommonAccess::Construct<node_type>(this->get_allocator(),
610  std::forward<Args>(args)...);
611  return this->tree_.insert_multi(CommonAccess::GetSlot(node));
612  }
613  template <typename... Args>
615  // Use a node handle to manage a temp slot.
616  auto node = CommonAccess::Construct<node_type>(this->get_allocator(),
617  std::forward<Args>(args)...);
618  return this->tree_.insert_hint_multi(iterator(hint),
619  CommonAccess::GetSlot(node));
620  }
622  if (!node) return this->end();
623  iterator res =
624  this->tree_.insert_multi(params_type::key(CommonAccess::GetSlot(node)),
625  CommonAccess::GetSlot(node));
626  CommonAccess::Destroy(&node);
627  return res;
628  }
630  if (!node) return this->end();
631  iterator res = this->tree_.insert_hint_multi(
632  iterator(hint),
634  CommonAccess::Destroy(&node);
635  return res;
636  }
637 
638  // Node extraction routines.
639  template <typename K = key_type>
641  const std::pair<iterator, bool> lower_and_equal =
642  this->tree_.lower_bound_equal(key);
643  return lower_and_equal.second ? extract(lower_and_equal.first)
644  : node_type();
645  }
646  using super_type::extract;
647 
648  // Merge routines.
649  // Moves all elements from `src` into `this`.
650  template <
651  typename T,
652  typename absl::enable_if_t<
654  std::is_same<value_type, typename T::value_type>,
655  std::is_same<allocator_type, typename T::allocator_type>,
656  std::is_same<typename params_type::is_map_container,
657  typename T::params_type::is_map_container>>::value,
658  int> = 0>
659  void merge(btree_container<T> &src) { // NOLINT
660  for (auto src_it = src.begin(), end = src.end(); src_it != end; ++src_it) {
661  insert(std::move(params_type::element(src_it.slot())));
662  }
663  src.clear();
664  }
665 
666  template <
667  typename T,
668  typename absl::enable_if_t<
670  std::is_same<value_type, typename T::value_type>,
671  std::is_same<allocator_type, typename T::allocator_type>,
672  std::is_same<typename params_type::is_map_container,
673  typename T::params_type::is_map_container>>::value,
674  int> = 0>
675  void merge(btree_container<T> &&src) {
676  merge(src);
677  }
678 };
679 
680 // A base class for btree_multimap.
681 template <typename Tree>
684  using params_type = typename Tree::params_type;
685  friend class BtreeNodePeer;
686 
687  public:
688  using mapped_type = typename params_type::mapped_type;
689 
690  // Inherit constructors.
693 };
694 
695 } // namespace container_internal
697 } // namespace absl
698 
699 #endif // ABSL_CONTAINER_INTERNAL_BTREE_CONTAINER_H_
absl::container_internal::btree_multiset_container::node_type
typename super_type::node_type node_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:560
absl::container_internal::btree_set_container::insert
void insert(std::initializer_list< init_type > init)
Definition: abseil-cpp/absl/container/internal/btree_container.h:325
absl::container_internal::btree_set_container::btree_set_container
btree_set_container(InputIterator b, InputIterator e, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Definition: abseil-cpp/absl/container/internal/btree_container.h:266
obj
OPENSSL_EXPORT const ASN1_OBJECT * obj
Definition: x509.h:1671
absl::container_internal::btree_map_container::insert_or_assign
std::pair< iterator, bool > insert_or_assign(const key_arg< K > &k, const M &obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:423
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::const_reference
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::const_reference const_reference
Definition: abseil-cpp/absl/container/internal/btree_container.h:59
absl::container_internal::btree_map_container::insert_or_assign_impl
std::pair< iterator, bool > insert_or_assign_impl(K &&k, M &&obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:510
regen-readme.it
it
Definition: regen-readme.py:15
init
const char * init
Definition: upb/upb/bindings/lua/main.c:49
absl::container_internal::btree_container::cend
const_iterator cend() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:98
absl::container_internal::btree_multimap_container
Definition: abseil-cpp/absl/container/internal/btree_container.h:682
absl::container_internal::btree_multiset_container::btree_multiset_container
btree_multiset_container(InputIterator b, InputIterator e, const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:575
absl::container_internal::btree_container::contains
bool contains(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:121
absl::container_internal::btree_set_container::iterator
typename Tree::iterator iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:255
element
static std::function< Slot &(Slot *)> element
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:44
absl::container_internal::btree_multiset_container::insert
void insert(std::initializer_list< init_type > init)
Definition: abseil-cpp/absl/container/internal/btree_container.h:603
absl::container_internal::btree_multiset_container::insert
iterator insert(const_iterator hint, const value_type &v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:593
absl::container_internal::btree_map_container::iterator
typename Tree::iterator iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:412
absl::conjunction
Definition: abseil-cpp/absl/meta/type_traits.h:230
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::reverse_iterator
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::reverse_iterator reverse_iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:64
absl::container_internal::btree_set_container::emplace
std::pair< iterator, bool > emplace(Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:294
position
intern position
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/array.c:487
y
const double y
Definition: bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3611
absl::container_internal::btree_set_container::btree_set_container
btree_set_container(std::initializer_list< init_type > init, const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:282
absl::container_internal::btree_multiset_container::allocator_type
typename Tree::allocator_type allocator_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:557
absl::container_internal::btree_map_container::try_emplace
iterator try_emplace(const_iterator hint, key_arg< K > &&k, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:476
absl::container_internal::CommonAccess::Destroy
static void Destroy(Node *node)
Definition: abseil-cpp/absl/container/internal/common.h:175
absl::container_internal::btree_container::key_comp
key_compare key_comp() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:219
absl::container_internal::btree_set_container::btree_set_container
btree_set_container(InputIterator b, InputIterator e, const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:273
absl::container_internal::btree_multiset_container::emplace
iterator emplace(Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:607
absl::container_internal::btree_container::end
iterator end()
Definition: abseil-cpp/absl/container/internal/btree_container.h:96
absl::container_internal::btree_container::erase
iterator erase(iterator iter)
Definition: abseil-cpp/absl/container/internal/btree_container.h:157
absl::container_internal::btree_set_container::extract
node_type extract(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:351
absl::container_internal::btree_map_container::key_type
typename Tree::key_type key_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:407
absl::container_internal::btree_container
Definition: abseil-cpp/absl/container/internal/btree_container.h:37
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::key_compare
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::original_key_compare key_compare
Definition: abseil-cpp/absl/container/internal/btree_container.h:55
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::node_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::node_handle_type node_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:66
absl::container_internal::btree_container::erase
iterator erase(const_iterator first, const_iterator last)
Definition: abseil-cpp/absl/container/internal/btree_container.h:158
absl::container_internal::btree_set_container::merge
void merge(btree_container< T > &&src)
Definition: abseil-cpp/absl/container/internal/btree_container.h:390
absl::container_internal::btree_set_container::super_type
btree_container< Tree > super_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:239
absl::container_internal::btree_set_container::allocator_type
typename Tree::allocator_type allocator_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:254
absl::enable_if_t
typename std::enable_if< B, T >::type enable_if_t
Definition: abseil-cpp/absl/meta/type_traits.h:631
absl::container_internal::btree_container::rend
reverse_iterator rend()
Definition: abseil-cpp/absl/container/internal/btree_container.h:102
absl::container_internal::btree_multiset_container::key_compare
typename Tree::original_key_compare key_compare
Definition: abseil-cpp/absl/container/internal/btree_container.h:556
absl::container_internal::btree_set_container::btree_set_container
btree_set_container()
Definition: abseil-cpp/absl/container/internal/btree_container.h:262
absl::container_internal::btree_map_container
Definition: abseil-cpp/absl/container/internal/btree_container.h:397
absl::container_internal::btree_container::clear
ABSL_ATTRIBUTE_REINITIALIZES void clear()
Definition: abseil-cpp/absl/container/internal/btree_container.h:181
absl::container_internal::btree_container::rbegin
reverse_iterator rbegin()
Definition: abseil-cpp/absl/container/internal/btree_container.h:99
absl::allocator_traits
Definition: third_party/abseil-cpp/absl/memory/memory.h:427
absl::container_internal::btree_container::btree_container
btree_container(const btree_container &other, const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:80
ABSL_NAMESPACE_END
#define ABSL_NAMESPACE_END
Definition: third_party/abseil-cpp/absl/base/config.h:171
iterator
const typedef MCPhysReg * iterator
Definition: MCRegisterInfo.h:27
setup.k
k
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:42
absl::container_internal::btree_container::rbegin
const_reverse_iterator rbegin() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:100
T
#define T(upbtypeconst, upbtype, ctype, default_value)
absl::container_internal::btree_multiset_container::insert
iterator insert(const value_type &v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:589
absl::container_internal::btree_map_container::mapped_type
typename params_type::mapped_type mapped_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:408
absl::container_internal::btree_multiset_container::btree_multiset_container
btree_multiset_container()
Definition: abseil-cpp/absl/container/internal/btree_container.h:564
absl::container_internal::btree_container::operator=
btree_container & operator=(const btree_container &other)=default
absl::container_internal::btree_multimap_container::btree_multimap_container
btree_multimap_container()
Definition: abseil-cpp/absl/container/internal/btree_container.h:692
absl::container_internal::btree_container::AbslHashValue
friend State AbslHashValue(State h, const btree_container &b)
Definition: abseil-cpp/absl/container/internal/btree_container.h:224
absl::container_internal::btree_set_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, false > > >::init_type
typename params_type::init_type init_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:241
absl::container_internal::btree_set_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, false > > >::is_key_compare_to
typename params_type::is_key_compare_to is_key_compare_to
Definition: abseil-cpp/absl/container/internal/btree_container.h:242
absl::base_internal::ThrowStdOutOfRange
void ThrowStdOutOfRange(const std::string &what_arg)
Definition: abseil-cpp/absl/base/internal/throw_delegate.cc:109
absl::container_internal::btree_container::erase
iterator erase(const_iterator iter)
Definition: abseil-cpp/absl/container/internal/btree_container.h:156
absl::container_internal::CommonAccess::GetSlot
static auto GetSlot(const Node &node) -> decltype(node.slot())
Definition: abseil-cpp/absl/container/internal/common.h:170
absl::container_internal::btree_container::lower_bound
iterator lower_bound(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:125
absl::FormatConversionChar::e
@ e
absl::container_internal::btree_map_container::at
const mapped_type & at(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:498
absl::container_internal::btree_container::begin
iterator begin()
Definition: abseil-cpp/absl/container/internal/btree_container.h:93
ABSL_NAMESPACE_BEGIN
#define ABSL_NAMESPACE_BEGIN
Definition: third_party/abseil-cpp/absl/base/config.h:170
absl::container_internal::btree_set_container::key_compare
typename Tree::original_key_compare key_compare
Definition: abseil-cpp/absl/container/internal/btree_container.h:253
absl::container_internal::btree_container::empty
bool empty() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:188
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::value_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::value_type value_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:52
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
absl::container_internal::btree_multiset_container::merge
void merge(btree_container< T > &&src)
Definition: abseil-cpp/absl/container/internal/btree_container.h:675
absl::container_internal::btree_map_container::try_emplace_impl
std::pair< iterator, bool > try_emplace_impl(K &&k, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:525
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
absl::container_internal::btree_set_container::insert
std::pair< iterator, bool > insert(value_type &&v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:290
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::const_reverse_iterator
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::const_reverse_iterator const_reverse_iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:65
absl::container_internal::btree_container::find
iterator find(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:113
hpack_encoder_fixtures::Args
Args({0, 16384})
absl::container_internal::btree_multiset_container::insert
iterator insert(node_type &&node)
Definition: abseil-cpp/absl/container/internal/btree_container.h:621
absl::container_internal::btree_container::crbegin
const_reverse_iterator crbegin() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:101
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::allocator_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::allocator_type allocator_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:57
absl::container_internal::btree_map_container::insert_or_assign
iterator insert_or_assign(const_iterator hint, key_arg< K > &&k, M &&obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:453
setup.v
v
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:42
absl::container_internal::btree_set_container::insert
void insert(InputIterator b, InputIterator e)
Definition: abseil-cpp/absl/container/internal/btree_container.h:322
absl::container_internal::btree_multiset_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::is_key_compare_to
typename params_type::is_key_compare_to is_key_compare_to
Definition: abseil-cpp/absl/container/internal/btree_container.h:546
absl::container_internal::btree_multiset_container::btree_multiset_container
btree_multiset_container(std::initializer_list< init_type > init, const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:584
absl::container_internal::BtreeNodePeer
Definition: abseil-cpp/absl/container/btree_test.cc:1192
absl::container_internal::btree_map_container::operator[]
mapped_type & operator[](const key_arg< K > &k)
Definition: abseil-cpp/absl/container/internal/btree_container.h:482
absl::container_internal::btree_multiset_container::btree_multiset_container
btree_multiset_container(InputIterator b, InputIterator e, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Definition: abseil-cpp/absl/container/internal/btree_container.h:568
absl::container_internal::btree_multiset_container::btree_multiset_container
btree_multiset_container(std::initializer_list< init_type > init, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Definition: abseil-cpp/absl/container/internal/btree_container.h:580
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::params_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::params_type params_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:38
absl::container_internal::btree_map_container::insert_or_assign
std::pair< iterator, bool > insert_or_assign(key_arg< K > &&k, M &&obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:436
absl::container_internal::btree_set_container::btree_set_container
btree_set_container(std::initializer_list< init_type > init, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Definition: abseil-cpp/absl/container/internal/btree_container.h:278
absl::container_internal::btree_container::find
const_iterator find(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:117
absl::compare_internal::value_type
int8_t value_type
Definition: abseil-cpp/absl/types/compare.h:45
absl::container_internal::btree_container::operator<
friend bool operator<(const btree_container &x, const btree_container &y)
Definition: abseil-cpp/absl/container/internal/btree_container.h:199
absl::container_internal::btree_container::begin
const_iterator begin() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:94
absl::container_internal::InsertReturnType
Definition: abseil-cpp/absl/container/internal/common.h:197
absl::container_internal::btree_container::tree_
Tree tree_
Definition: abseil-cpp/absl/container/internal/btree_container.h:233
x
int x
Definition: bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3610
absl::container_internal::btree_access
Definition: abseil-cpp/absl/container/internal/btree.h:2806
absl::container_internal::btree_container::count
size_type count(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:108
absl::container_internal::btree_map_container::insert_or_assign
std::pair< iterator, bool > insert_or_assign(key_arg< K > &&k, const M &obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:428
b
uint64_t b
Definition: abseil-cpp/absl/container/internal/layout_test.cc:53
absl::container_internal::btree_map_container::operator[]
mapped_type & operator[](key_arg< K > &&k)
Definition: abseil-cpp/absl/container/internal/btree_container.h:486
absl::container_internal::btree_container::operator!=
friend bool operator!=(const btree_container &x, const btree_container &y)
Definition: abseil-cpp/absl/container/internal/btree_container.h:195
absl::container_internal::btree_container::lower_bound
const_iterator lower_bound(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:129
absl::container_internal::btree_set_container::node_type
typename super_type::node_type node_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:257
absl::container_internal::btree_map_container::btree_map_container
btree_map_container()
Definition: abseil-cpp/absl/container/internal/btree_container.h:417
absl::container_internal::btree_set_container::merge
void merge(btree_container< T > &src)
Definition: abseil-cpp/absl/container/internal/btree_container.h:371
absl::container_internal::btree_container::operator==
friend bool operator==(const btree_container &x, const btree_container &y)
Definition: abseil-cpp/absl/container/internal/btree_container.h:190
absl::container_internal::btree_container::upper_bound
const_iterator upper_bound(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:137
absl::container_internal::btree_container::operator>=
friend bool operator>=(const btree_container &x, const btree_container &y)
Definition: abseil-cpp/absl/container/internal/btree_container.h:211
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::key_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::key_type key_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:51
value
const char * value
Definition: hpack_parser_table.cc:165
absl::container_internal::btree_map_container::insert_or_assign
iterator insert_or_assign(const_iterator hint, key_arg< K > &&k, const M &obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:445
absl::container_internal::btree_map_container::insert_or_assign
std::pair< iterator, bool > insert_or_assign(const key_arg< K > &k, M &&obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:432
absl::container_internal::btree_map_container::try_emplace
std::pair< iterator, bool > try_emplace(const key_arg< K > &k, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:461
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::pointer
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::pointer pointer
Definition: abseil-cpp/absl/container/internal/btree_container.h:60
absl::container_internal::btree_map_container::try_emplace
std::pair< iterator, bool > try_emplace(key_arg< K > &&k, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:467
absl::container_internal::btree_container::max_size
size_type max_size() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:187
absl::container_internal::KeyArg
Definition: abseil-cpp/absl/container/internal/common.h:35
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::iterator
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::iterator iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:62
absl::container_internal::btree_multiset_container::merge
void merge(btree_container< T > &src)
Definition: abseil-cpp/absl/container/internal/btree_container.h:659
absl::container_internal::btree_container::upper_bound
iterator upper_bound(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:133
key
const char * key
Definition: hpack_parser_table.cc:164
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::difference_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::difference_type difference_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:54
absl::container_internal::btree_set_container::insert
iterator insert(const_iterator hint, value_type &&v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:306
absl::container_internal::btree_map_container::try_emplace_hint_impl
iterator try_emplace_hint_impl(const_iterator hint, K &&k, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:531
absl::container_internal::btree_multiset_container::insert
iterator insert(const_iterator hint, value_type &&v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:596
absl::container_internal::btree_container::btree_container
btree_container(btree_container &&other, const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:85
absl::container_internal::btree_multiset_container::insert
iterator insert(const_iterator hint, node_type &&node)
Definition: abseil-cpp/absl/container/internal/btree_container.h:629
absl::container_internal::btree_map_container::insert_or_assign
iterator insert_or_assign(const_iterator hint, const key_arg< K > &k, M &&obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:449
absl::container_internal::btree_container::rend
const_reverse_iterator rend() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:103
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::key_arg
typename KeyArg< params_type::kIsKeyCompareTransparent >::template type< K, typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::key_type > key_arg
Definition: abseil-cpp/absl/container/internal/btree_container.h:48
ret
UniquePtr< SSL_SESSION > ret
Definition: ssl_x509.cc:1029
absl::container_internal::btree_container::extract
node_type extract(iterator position)
Definition: abseil-cpp/absl/container/internal/btree_container.h:168
absl::container_internal::btree_multiset_container
Definition: abseil-cpp/absl/container/internal/btree_container.h:542
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::const_iterator
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::const_iterator const_iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:63
std
Definition: grpcpp/impl/codegen/async_unary_call.h:407
first
StrT first
Definition: cxa_demangle.cpp:4884
absl::container_internal::btree_map_container::try_emplace
iterator try_emplace(const_iterator hint, const key_arg< K > &k, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:471
absl::container_internal::btree_multiset_container::super_type
btree_container< Tree > super_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:543
absl::container_internal::btree_map_container::insert_or_assign_hint_impl
iterator insert_or_assign_hint_impl(const_iterator hint, K &&k, M &&obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:517
absl::container_internal::btree_container::swap
void swap(btree_container &other)
Definition: abseil-cpp/absl/container/internal/btree_container.h:182
absl::container_internal::btree_container::verify
void verify() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:183
absl::container_internal::btree_set_container::insert
std::pair< iterator, bool > insert(const value_type &v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:287
absl::container_internal::btree_multiset_container::emplace_hint
iterator emplace_hint(const_iterator hint, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:614
absl::container_internal::btree_set_container
Definition: abseil-cpp/absl/container/internal/btree_container.h:238
absl::container_internal::btree_container::btree_container
btree_container(const key_compare &comp, const allocator_type &alloc=allocator_type())
Definition: abseil-cpp/absl/container/internal/btree_container.h:70
absl::container_internal::btree_container::end
const_iterator end() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:97
absl::container_internal::btree_container::operator<=
friend bool operator<=(const btree_container &x, const btree_container &y)
Definition: abseil-cpp/absl/container/internal/btree_container.h:207
absl::container_internal::btree_multiset_container::extract
node_type extract(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:640
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::const_pointer
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::const_pointer const_pointer
Definition: abseil-cpp/absl/container/internal/btree_container.h:61
absl::container_internal::btree_multimap_container::mapped_type
typename params_type::mapped_type mapped_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:688
absl::container_internal::btree_container::get_allocator
allocator_type get_allocator() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:216
ABSL_ATTRIBUTE_REINITIALIZES
#define ABSL_ATTRIBUTE_REINITIALIZES
Definition: abseil-cpp/absl/base/attributes.h:529
absl::container_internal::btree_set_container::insert
iterator insert(const_iterator hint, const value_type &v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:301
iter
Definition: test_winkernel.cpp:47
absl
Definition: abseil-cpp/absl/algorithm/algorithm.h:31
absl::container_internal::btree_container::btree_container
btree_container()
Definition: abseil-cpp/absl/container/internal/btree_container.h:69
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::reference
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::reference reference
Definition: abseil-cpp/absl/container/internal/btree_container.h:58
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
absl::container_internal::btree_container::crend
const_reverse_iterator crend() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:104
absl::container_internal::btree_multiset_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::init_type
typename params_type::init_type init_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:545
setup.template
template
Definition: setup.py:47
absl::container_internal::btree_container::equal_range
std::pair< const_iterator, const_iterator > equal_range(const key_arg< K > &key) const
Definition: abseil-cpp/absl/container/internal/btree_container.h:145
absl::container_internal::btree_container::equal_range
std::pair< iterator, iterator > equal_range(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:141
key_type
upb_fieldtype_t key_type
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/protobuf.h:1071
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::value_compare
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::value_compare value_compare
Definition: abseil-cpp/absl/container/internal/btree_container.h:56
absl::container_internal::btree_container::operator>
friend bool operator>(const btree_container &x, const btree_container &y)
Definition: abseil-cpp/absl/container/internal/btree_container.h:203
absl::container_internal::btree_multiset_container::insert
iterator insert(value_type &&v)
Definition: abseil-cpp/absl/container/internal/btree_container.h:590
absl::container_internal::btree_container::btree_container
btree_container(const btree_container &other)
Definition: abseil-cpp/absl/container/internal/btree_container.h:76
absl::container_internal::btree_multiset_container::insert
void insert(InputIterator b, InputIterator e)
Definition: abseil-cpp/absl/container/internal/btree_container.h:600
const_reference
const typedef T & const_reference
Definition: cxa_demangle.cpp:4831
absl::container_internal::btree_multiset_container::iterator
typename Tree::iterator iterator
Definition: abseil-cpp/absl/container/internal/btree_container.h:558
absl::container_internal::btree_map_container::insert_or_assign
iterator insert_or_assign(const_iterator hint, const key_arg< K > &k, const M &obj)
Definition: abseil-cpp/absl/container/internal/btree_container.h:440
absl::container_internal::btree_map_container::at
mapped_type & at(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:491
absl::container_internal::btree_container::value_comp
value_compare value_comp() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:220
absl::container_internal::btree_set_container::emplace_hint
iterator emplace_hint(const_iterator hint, Args &&... args)
Definition: abseil-cpp/absl/container/internal/btree_container.h:312
absl::container_internal::btree_container::size
size_type size() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:186
absl::container_internal::btree_set_container::insert
iterator insert(const_iterator hint, node_type &&node)
Definition: abseil-cpp/absl/container/internal/btree_container.h:340
alloc
std::allocator< int > alloc
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:87
absl::container_internal::btree_container< container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > >::size_type
typename container_internal::btree< container_internal::set_params< Key, std::less< Key >, std::allocator< Key >, 256, true > > ::size_type size_type
Definition: abseil-cpp/absl/container/internal/btree_container.h:53
absl::container_internal::btree_set_container::insert
insert_return_type insert(node_type &&node)
Definition: abseil-cpp/absl/container/internal/btree_container.h:328
absl::container_internal::btree_container::erase
size_type erase(const key_arg< K > &key)
Definition: abseil-cpp/absl/container/internal/btree_container.h:162
const_pointer
const typedef T * const_pointer
Definition: cxa_demangle.cpp:4833
absl::container_internal::btree_container::btree_container
btree_container(const allocator_type &alloc)
Definition: abseil-cpp/absl/container/internal/btree_container.h:73
absl::container_internal::btree_container::cbegin
const_iterator cbegin() const
Definition: abseil-cpp/absl/container/internal/btree_container.h:95


grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:50