17#include <daw/daw_attributes.h>
24 namespace json_details {
25 template<
typename ParseState,
bool>
34 template<
typename ParseState>
47 ParseState *pd ) noexcept
61 template<
typename JsonMember,
typename ParseState,
bool KnownBounds>
64 can_random_v<KnownBounds>> {
83 if constexpr( not KnownBounds ) {
99 return parse_value<element_t>(
106 ErrorReason::UnexpectedEndOfData,
117 ErrorReason::UnexpectedEndOfData,
123 ErrorReason::AttemptToAccessPastEndOfValue,
127 if constexpr( not KnownBounds ) {
138 ErrorReason::AttemptToAccessPastEndOfValue,
147 friend inline constexpr bool
153 friend inline constexpr bool
156 return not( lhs == rhs );
#define daw_json_assert_weak(Bool,...)
Definition: daw_json_assert.h:190
typename JsonMember::without_name without_name
Definition: daw_json_traits.h:104
daw::constant< v > ParseTag
Definition: daw_json_enums.h:119
Definition: daw_from_json.h:22
Definition: daw_json_arrow_proxy.h:16
constexpr difference_type operator-(json_parse_array_iterator_base const &rhs) const
Definition: daw_json_parse_array_iterator.h:52
std::random_access_iterator_tag iterator_category
Definition: daw_json_parse_array_iterator.h:37
std::ptrdiff_t difference_type
Definition: daw_json_parse_array_iterator.h:38
constexpr json_parse_array_iterator_base() noexcept=default
Definition: daw_json_parse_array_iterator.h:26
static constexpr bool has_counter
Definition: daw_json_parse_array_iterator.h:29
std::ptrdiff_t difference_type
Definition: daw_json_parse_array_iterator.h:28
ParseState * parse_state
Definition: daw_json_parse_array_iterator.h:31
std::input_iterator_tag iterator_category
Definition: daw_json_parse_array_iterator.h:27
Definition: daw_json_parse_array_iterator.h:64
constexpr friend bool operator==(json_parse_array_iterator const &lhs, json_parse_array_iterator const &rhs)
Definition: daw_json_parse_array_iterator.h:148
typename base::iterator_category iterator_category
Definition: daw_json_parse_array_iterator.h:69
typename JsonMember::json_element_t::without_name element_t
Definition: daw_json_parse_array_iterator.h:70
std::size_t size_type
Definition: daw_json_parse_array_iterator.h:76
value_type reference
Definition: daw_json_parse_array_iterator.h:72
typename element_t::parse_to_t value_type
Definition: daw_json_parse_array_iterator.h:71
constexpr json_parse_array_iterator(parse_state_t &r)
Definition: daw_json_parse_array_iterator.h:80
constexpr json_parse_array_iterator end() const
Definition: daw_json_parse_array_iterator.h:163
constexpr json_parse_array_iterator()=default
typename base::difference_type difference_type
Definition: daw_json_parse_array_iterator.h:75
constexpr json_parse_array_iterator & begin()
Definition: daw_json_parse_array_iterator.h:159
constexpr DAW_ATTRIB_INLINE json_parse_array_iterator & operator++()
Definition: daw_json_parse_array_iterator.h:104
ParseState parse_state_t
Definition: daw_json_parse_array_iterator.h:74
constexpr friend bool operator!=(json_parse_array_iterator const &lhs, json_parse_array_iterator const &rhs)
Definition: daw_json_parse_array_iterator.h:154
constexpr DAW_ATTRIB_INLINE value_type operator*()
Definition: daw_json_parse_array_iterator.h:94
#define DAW_JSON_VER
The version string used in namespace definitions. Must be a valid namespace name.
Definition: version.h:16