This change makes b-tree sets conform to the std::set API of having const access through `iterator`s as well as `const_iterator`s. This change can cause breakages for user code that depends on having mutable access to keys. If your code breaks, then there a couple of options to fix the issue: - If you are mutating a part of the key that can impact the sorted order, then this is a bug and you need to extract the key, mutate it, and then re-insert the mutated key. - If you are mutating a part of the key that can't impact the sorted order, then you can potentially (a) refactor to use btree_map instead of btree_set and make the part of the key that doesn't impact that ordering be the mapped_type, (b) change the part of the key that doesn't impact the ordering to be a `mutable` member of the key_type, (c) refactor from btree_set<K> to btree_set<K*> (but this also permits mutable access to the part of the key that determines the ordering). PiperOrigin-RevId: 563118156 Change-Id: I243558e74c43aa6655290099494b411d15298f4c
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| internal | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| btree_benchmark.cc | Loading commit data... | |
| btree_map.h | Loading commit data... | |
| btree_set.h | Loading commit data... | |
| btree_test.cc | Loading commit data... | |
| btree_test.h | Loading commit data... | |
| fixed_array.h | Loading commit data... | |
| fixed_array_benchmark.cc | Loading commit data... | |
| fixed_array_exception_safety_test.cc | Loading commit data... | |
| fixed_array_test.cc | Loading commit data... | |
| flat_hash_map.h | Loading commit data... | |
| flat_hash_map_test.cc | Loading commit data... | |
| flat_hash_set.h | Loading commit data... | |
| flat_hash_set_test.cc | Loading commit data... | |
| inlined_vector.h | Loading commit data... | |
| inlined_vector_benchmark.cc | Loading commit data... | |
| inlined_vector_exception_safety_test.cc | Loading commit data... | |
| inlined_vector_test.cc | Loading commit data... | |
| node_hash_map.h | Loading commit data... | |
| node_hash_map_test.cc | Loading commit data... | |
| node_hash_set.h | Loading commit data... | |
| node_hash_set_test.cc | Loading commit data... | |
| sample_element_size_test.cc | Loading commit data... |