#include "utf8_iterator.hpp" namespace fud { std::optional Utf8Iterator::peek() const { if (m_index >= m_view.length()) { return std::nullopt; } auto utf8 = ExtUtf8::fromStringView(m_view, m_index); if (!utf8.valid()) { return std::nullopt; } return utf8; } std::optional Utf8Iterator::next() { if (m_index >= m_view.length()) { m_index = m_view.length(); return std::nullopt; } auto utf8 = ExtUtf8::fromStringView(m_view, m_index); if (!utf8.valid()) { m_index = m_view.length(); return std::nullopt; } m_index += utf8.size(); return utf8; } } // namespace fud