types: listlike_partially_deserializing_iterator: improve compatibility with std::ranges

Range concepts require an iterator_concept tag and a default
constructor, so provide those.

Closes scylladb/scylladb#22138
This commit is contained in:
Avi Kivity
2024-12-31 22:17:42 +02:00
committed by Pavel Emelyanov
parent 5c7ad745fd
commit c33bbc884b

View File

@@ -65,6 +65,7 @@ View read_collection_value_nonnull(View& in) {
class listlike_partial_deserializing_iterator {
public:
using iterator_category = std::input_iterator_tag;
using iterator_concept = std::input_iterator_tag;
using value_type = managed_bytes_view;
using difference_type = std::ptrdiff_t;
using pointer = managed_bytes_view_opt*;
@@ -84,6 +85,7 @@ private:
: _remain(0) {
}
public:
listlike_partial_deserializing_iterator() = default;
managed_bytes_view_opt operator*() const { return _cur; }
listlike_partial_deserializing_iterator& operator++() {
--_remain;