1#ifndef SIMDJSON_GENERIC_ONDEMAND_OBJECT_ITERATOR_H
3#ifndef SIMDJSON_CONDITIONAL_INCLUDE
4#define SIMDJSON_GENERIC_ONDEMAND_OBJECT_ITERATOR_H
5#include "simdjson/generic/ondemand/base.h"
6#include "simdjson/generic/implementation_simdjson_result_base.h"
7#include "simdjson/generic/ondemand/value_iterator.h"
11namespace SIMDJSON_IMPLEMENTATION {
23#if SIMDJSON_DEVELOPMENT_CHECKS
40 simdjson_inline
bool operator==(const
object_iterator &) const noexcept;
42 simdjson_inline
bool operator!=(const
object_iterator &) const noexcept;
49#if SIMDJSON_DEVELOPMENT_CHECKS
50 bool has_been_referenced{
false};
51 object* parent{
nullptr};
53 simdjson_inline
object_iterator(
const value_iterator &_iter,
object* _parent)
noexcept;
61 value_iterator iter{};
75struct simdjson_result<SIMDJSON_IMPLEMENTATION::ondemand::object_iterator> :
public SIMDJSON_IMPLEMENTATION::implementation_simdjson_result_base<SIMDJSON_IMPLEMENTATION::ondemand::object_iterator> {
77 simdjson_inline simdjson_result(SIMDJSON_IMPLEMENTATION::ondemand::object_iterator &&value)
noexcept;
79 simdjson_inline simdjson_result() noexcept = default;
86 simdjson_inline simdjson_result<SIMDJSON_IMPLEMENTATION::ondemand::field> operator*() noexcept;
88 simdjson_inline
bool operator==(const simdjson_result<SIMDJSON_IMPLEMENTATION::ondemand::object_iterator> &) const noexcept;
90 simdjson_inline
bool operator!=(const simdjson_result<SIMDJSON_IMPLEMENTATION::ondemand::object_iterator> &) const noexcept;
92 simdjson_inline simdjson_result<SIMDJSON_IMPLEMENTATION::ondemand::object_iterator> &operator++() noexcept;
simdjson_inline object_iterator() noexcept=default
Create a new invalid object_iterator.
The top level simdjson namespace, containing everything the library provides.
error_code
All possible errors returned by simdjson.
The result of a simdjson operation that could fail.
simdjson_inline error_code error() const noexcept
The error.