18 using iterator_category = std::random_access_iterator_tag;
19 using difference_type = std::ptrdiff_t;
20 using value_type = std::uint8_t;
21 using pointer =
const value_type*;
22 using reference =
const value_type&;
24 byte_view_iterator() =
default;
25 explicit byte_view_iterator(pointer p) : m_iterator(p) {}
26 explicit byte_view_iterator(
const ByteBuffer::const_iterator& it) : m_iterator(it.operator->()) {}
28 constexpr value_type operator*()
const
73 return m_iterator - o.m_iterator;
76 constexpr reference operator[](difference_type n)
83 return m_iterator == o.m_iterator;
88 return m_iterator != o.m_iterator;
93 return m_iterator > o.m_iterator;
98 return m_iterator < o.m_iterator;
103 return m_iterator >= o.m_iterator;
108 return m_iterator <= o.m_iterator;
111 constexpr pointer raw()
const
117 pointer m_iterator =
nullptr;