6 #include <nlohmann/detail/macro_scope.hpp>
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
Definition: primitive_iterator.hpp:22
constexpr bool is_end() const noexcept
return whether the iterator is at end
Definition: primitive_iterator.hpp:57
constexpr bool is_begin() const noexcept
return whether the iterator can be dereferenced
Definition: primitive_iterator.hpp:51
void set_begin() noexcept
set iterator to a defined beginning
Definition: primitive_iterator.hpp:39
void set_end() noexcept
set iterator to a defined past the end
Definition: primitive_iterator.hpp:45
namespace for Niels Lohmann
Definition: adl_serializer.hpp:12