Files
scylladb/utils
Avi Kivity 75f4ea1b68 utils: intrusive_btree: improve conformity with iterator requirements
The <ranges> library checks that an iterator's operator++() returns
a reference to the same type. intrusive_btree's iterator do not; instead
they return some base type and rely on implicit conversion to the real
iterator type. This causes interoperatibility problems with <range>.

Fix by using the CRTP pattern to inform iterator_base about what
type we really are, and cast to it. Enforce it with static_assert.

Note we can't static_assert in class scope since it is checked too
early and fails. Checking in function scope delays the check.
2024-10-07 17:26:01 +03:00
..
2023-09-11 14:38:46 +03:00
2023-12-02 22:37:22 +02:00
2024-01-18 12:50:06 +02:00
2024-02-01 14:50:17 +02:00
2024-05-27 17:34:38 +03:00
2024-09-18 13:59:22 +03:00
2023-12-02 22:37:22 +02:00
2023-12-02 22:37:22 +02:00
2024-04-30 09:07:22 +03:00