--- ./src/libmime/mime_string.hxx 2026-06-12 07:07:05 +++ ./src/libmime/mime_string.hxx 2026-06-12 07:17:42 @@ -94,7 +94,7 @@ return idx != it.idx; } - iterator_base(difference_type index, Container *instance) noexcept + iterator_base(difference_type index, const Container *instance) noexcept : idx(index), cont_instance(instance) { } @@ -103,7 +103,7 @@ iterator_base &operator=(const iterator_base &) noexcept = default; - Container *get_instance() const noexcept + const Container *get_instance() const noexcept { return cont_instance; } @@ -118,7 +118,7 @@ protected: difference_type idx; - Container *cont_instance = nullptr; + const Container *cont_instance = nullptr; protected: void advance(difference_type n) noexcept @@ -164,7 +164,7 @@ return idx != it.idx; } - iterator_base(difference_type index, Container *instance) noexcept + iterator_base(difference_type index, const Container *instance) noexcept : idx(index), cont_instance(instance) { } @@ -172,7 +172,7 @@ iterator_base() noexcept = default; iterator_base(const iterator_base &) noexcept = default; iterator_base &operator=(const iterator_base &) noexcept = default; - Container *get_instance() const noexcept + const Container *get_instance() const noexcept { return cont_instance; } @@ -184,7 +184,7 @@ protected: difference_type idx; - Container *cont_instance = nullptr; + const Container *cont_instance = nullptr; protected: //! Advance the iterator n times (negative values allowed!) @@ -210,7 +210,7 @@ template struct iterator : iterator_base { - iterator(typename iterator_base::difference_type index, Container *instance) noexcept + iterator(typename iterator_base::difference_type index, const Container *instance) noexcept : iterator_base(index, instance) { } @@ -523,17 +523,17 @@ } /* Iterators */ - inline auto begin() noexcept -> iterator + inline auto begin() const noexcept -> iterator { return {0, this}; } - inline auto raw_begin() noexcept -> raw_iterator + inline auto raw_begin() const noexcept -> raw_iterator { return {0, this}; } - inline auto end() noexcept -> iterator + inline auto end() const noexcept -> iterator { return {(difference_type) size(), this}; } @@ -569,7 +569,7 @@ /* For doctest stringify */ - friend std::ostream &operator<<(std::ostream &os, const CharT &value) + friend std::ostream &operator<<(std::ostream &os, const basic_mime_string &value) { os << value.storage; return os;