2 namespace SIMDJSON_IMPLEMENTATION {
11 class token_iterator {
18 simdjson_inline token_iterator() noexcept = default;
19 simdjson_inline token_iterator(token_iterator &&other) noexcept = default;
20 simdjson_inline token_iterator &operator=(token_iterator &&other) noexcept = default;
21 simdjson_inline token_iterator(const token_iterator &other) noexcept = default;
22 simdjson_inline token_iterator &operator=(const token_iterator &other) noexcept = default;
27 simdjson_inline const uint8_t *return_current_and_advance() noexcept;
31 simdjson_inline uint32_t current_offset() const noexcept;
43 simdjson_inline const uint8_t *peek(int32_t delta=0) const noexcept;
52 simdjson_inline uint32_t peek_length(int32_t delta=0) const noexcept;
62 simdjson_inline const uint8_t *peek(token_position position) const noexcept;
70 simdjson_inline uint32_t peek_length(token_position position) const noexcept;
75 simdjson_inline token_position position() const noexcept;
79 simdjson_inline
void set_position(token_position target_position) noexcept;
84 simdjson_inline
bool operator==(const token_iterator &other) const noexcept;
85 simdjson_inline
bool operator!=(const token_iterator &other) const noexcept;
86 simdjson_inline
bool operator>(const token_iterator &other) const noexcept;
87 simdjson_inline
bool operator>=(const token_iterator &other) const noexcept;
88 simdjson_inline
bool operator<(const token_iterator &other) const noexcept;
89 simdjson_inline
bool operator<=(const token_iterator &other) const noexcept;
92 simdjson_inline token_iterator(const uint8_t *buf, token_position position) noexcept;
102 simdjson_inline uint32_t peek_index(int32_t delta=0) const noexcept;
111 simdjson_inline uint32_t peek_index(token_position position) const noexcept;
113 const uint8_t *buf{};
114 token_position _position{};
116 friend class json_iterator;
117 friend class value_iterator;
119 friend simdjson_inline
void logger::log_line(
const json_iterator &iter,
const char *title_prefix,
const char *title, std::string_view detail,
int delta,
int depth_delta) noexcept;
120 friend simdjson_inline
void logger::log_line(
const json_iterator &iter, token_position index,
depth_t depth,
const char *title_prefix,
const char *title, std::string_view detail) noexcept;
132 simdjson_inline
simdjson_result(SIMDJSON_IMPLEMENTATION::ondemand::token_iterator &&
value) noexcept;
@ object
A JSON object ( { "a": 1, "b" 2, ... } )
int32_t depth_t
Represents the depth of a JSON value (number of nested arrays/objects).
We want to support argument-dependent lookup (ADL).
error_code
All possible errors returned by simdjson.
The result of a simdjson operation that could fail.
The result of a simdjson operation that could fail.
simdjson_inline error_code error() const noexcept
The error.
simdjson_inline T & value() &noexcept(false)
Get the result value.