node
Defined in header: <orcus/json_document_tree.hpp>
-
class node : public orcus::json::const_node
Each node instance represents a JSON value stored in the document tree. This class allows mutable operations.
Public Functions
-
node() = delete
-
~node()
-
node child(size_t index)
Get a child node by index.
- Parameters:
index – 0-based index of a child node.
- Throws:
orcus::json::document_error – if the node is not one of the object or array types.
std::out_of_range – if the index is equal to or greater than the number of child nodes that the node has.
- Returns:
child node instance.
-
node child(std::string_view key)
Get a child node by textural key value.
- Parameters:
key – textural key value to get a child node by.
- Throws:
orcus::json::document_error – if the node is not of the object type, or the node doesn’t have the specified key.
- Returns:
child node instance.
-
node parent()
Get the parent node.
- Throws:
orcus::json::document_error – if the node doesn’t have a parent node which implies that the node is a root node.
- Returns:
parent node instance.
-
node back()
Get the last child node.
- Throws:
orcus::json::document_error – if the node is not of array type or node has no children.
- Returns:
last child node instance.
-
void push_back(const detail::init::node &v)
Append a new node value to the end of the array.
- Throws:
orcus::json::document_error – if the node is not of array type.
- Parameters:
v – new node value to append to the end of the array.
-
node() = delete