32 using difference_type = std::ptrdiff_t;
33 static constexpr difference_type begin_value = 0;
34 static constexpr difference_type end_value = begin_value + 1;
36 JSON_PRIVATE_UNLESS_TESTED:
38 difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
41 constexpr difference_type get_value()
const noexcept
61 return m_it == begin_value;
65 constexpr bool is_end() const noexcept
67 return m_it == end_value;
72 return lhs.m_it == rhs.m_it;
75 friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
noexcept
77 return lhs.m_it < rhs.m_it;
80 primitive_iterator_t operator+(difference_type n)
noexcept
87 friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs)
noexcept
89 return lhs.m_it - rhs.m_it;
92 primitive_iterator_t& operator++() noexcept
98 primitive_iterator_t operator++(
int)&
noexcept
105 primitive_iterator_t& operator--() noexcept
111 primitive_iterator_t operator--(
int)&
noexcept
118 primitive_iterator_t& operator+=(difference_type n)
noexcept
124 primitive_iterator_t& operator-=(difference_type n)
noexcept