8 #ifndef INCLUDED_ORCUS_JSON_DOCUMENT_TREE_HPP 9 #define INCLUDED_ORCUS_JSON_DOCUMENT_TREE_HPP 11 #include "orcus/env.hpp" 12 #include "orcus/exception.hpp" 26 struct document_resource;
51 enum class node_t : uint8_t
82 namespace detail {
namespace init {
class node; }}
92 std::unique_ptr<impl> mp_impl;
127 std::unique_ptr<impl> mp_impl;
150 size_t child_count()
const;
159 std::vector<pstring> keys()
const;
175 pstring key(
size_t index)
const;
186 bool has_key(
const pstring& key)
const;
252 double numeric_value()
const;
263 uintptr_t identity()
const;
304 node child(
size_t index);
357 std::vector<detail::init::node> m_vs;
362 array(std::initializer_list<detail::init::node> vs);
374 object(
const object&) =
delete;
379 namespace detail {
namespace init {
388 friend class ::orcus::json::document_tree;
389 friend class ::orcus::json::node;
392 std::unique_ptr<impl> mp_impl;
398 node(std::nullptr_t);
400 node(
const std::string& s);
401 node(std::initializer_list<detail::init::node> vs);
409 node& operator= (
node other) =
delete;
413 json_value* to_json_value(document_resource& res)
const;
414 void store_to_node(document_resource& res, json_value* parent)
const;
428 std::unique_ptr<impl> mp_impl;
430 const document_resource& get_resource()
const;
442 document_tree& operator= (std::initializer_list<detail::init::node> vs);
484 std::string dump()
const;
492 std::string dump_xml()
const;
Definition: pstring.hpp:27
Definition: json_document_tree.hpp:87
Definition: exception.hpp:18
Definition: json_document_tree.hpp:44
Definition: json_document_tree.hpp:370
Definition: config.hpp:18
Definition: json_document_tree.hpp:422
Definition: json_document_tree.hpp:32
Definition: config.hpp:60
Definition: json_document_tree.hpp:120
Definition: json_document_tree.hpp:352
Definition: json_document_tree.hpp:273
Definition: json_document_tree.hpp:386
Definition: base64.hpp:15