65 std::uintptr_t _prefix;
66 const std::uint64_t* _iter;
91 ~parse_index() noexcept;
133 iterator cbegin()
const {
return begin(); }
135 iterator end()
const;
136 iterator cend()
const {
return end(); }
143 value extract_tree()
const;
181 impl* _impl =
nullptr;
Utilities for directly dealing with a JSON AST.
Represents an entry in a JSON AST.
An adapter for enumeration types.
Represents the index of a parsed AST.
parse_index() noexcept=default
Creates an empty not-an-AST instance.
friend std::ostream & operator<<(std::ostream &, const parse_index &)
value extract_tree(const extract_options &options) const
Configuration for various parsing options.
Represents a single JSON value, which can be any one of a potential kind, each behaving slightly diff...
Copyright (c) 2014-2020 by Travis Gockel.
#define JSONV_PUBLIC
This function or class is part of the public API for JSON Voorhees.
JSONV_PUBLIC void swap(value &a, value &b) noexcept
Swap the values a and b.
std::optional< T > optional
Represents a value that may or may not be present.
std::string_view string_view
A non-owning reference to a string.