24 using difference_type = std::ptrdiff_t;
25 static constexpr difference_type begin_value = 0;
26 static constexpr difference_type end_value = begin_value + 1;
28 JSON_PRIVATE_UNLESS_TESTED:
30 difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
33 constexpr difference_type get_value()
const noexcept
53 return m_it == begin_value;
57 constexpr bool is_end() const noexcept
59 return m_it == end_value;
64 return lhs.m_it == rhs.m_it;
67 friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
noexcept
69 return lhs.m_it < rhs.m_it;
72 primitive_iterator_t operator+(difference_type n)
noexcept
79 friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs)
noexcept
81 return lhs.m_it - rhs.m_it;
84 primitive_iterator_t& operator++() noexcept
90 primitive_iterator_t
const operator++(
int)
noexcept
97 primitive_iterator_t& operator--() noexcept
103 primitive_iterator_t
const operator--(
int)
noexcept
110 primitive_iterator_t& operator+=(difference_type n)
noexcept
116 primitive_iterator_t& operator-=(difference_type n)
noexcept