22 using difference_type = std::ptrdiff_t;
23 static constexpr difference_type begin_value = 0;
24 static constexpr difference_type end_value = begin_value + 1;
27 difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
30 constexpr difference_type get_value()
const noexcept
50 return m_it == begin_value;
54 constexpr
bool is_end() const noexcept
56 return m_it == end_value;
61 return lhs.m_it == rhs.m_it;
64 friend constexpr
bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
66 return lhs.m_it < rhs.m_it;
69 primitive_iterator_t operator+(difference_type n) noexcept
76 friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
78 return lhs.m_it - rhs.m_it;
81 primitive_iterator_t& operator++() noexcept
87 primitive_iterator_t
const operator++(
int) noexcept
94 primitive_iterator_t& operator--() noexcept
100 primitive_iterator_t
const operator--(
int) noexcept
107 primitive_iterator_t& operator+=(difference_type n) noexcept
113 primitive_iterator_t& operator-=(difference_type n) noexcept
Definition: primitive_iterator.hpp:20
constexpr bool is_end() const noexcept
return whether the iterator is at end
Definition: primitive_iterator.hpp:54
constexpr bool is_begin() const noexcept
return whether the iterator can be dereferenced
Definition: primitive_iterator.hpp:48
void set_begin() noexcept
set iterator to a defined beginning
Definition: primitive_iterator.hpp:36
void set_end() noexcept
set iterator to a defined past the end
Definition: primitive_iterator.hpp:42
namespace for Niels Lohmann
Definition: adl_serializer.hpp:9