|
rapidyaml
0.12.1
parse and emit YAML, and do it fast
|
Holds a pointer to an existing tree, and a node id. More...
#include <node.hpp>
Public Types | |
| using | tree_type = Tree const |
Public Member Functions | |
construction | |
| ConstNodeRef () noexcept | |
| ConstNodeRef (Tree const &t) noexcept | |
| ConstNodeRef (Tree const *t) noexcept | |
| ConstNodeRef (Tree const *t, id_type id) noexcept | |
| ConstNodeRef (std::nullptr_t) noexcept | |
| ConstNodeRef (ConstNodeRef const &) noexcept=default | |
| ConstNodeRef (ConstNodeRef &&) noexcept=default | |
| ConstNodeRef (NodeRef const &) noexcept | |
| ConstNodeRef (NodeRef &&) noexcept | |
assignment | |
| ConstNodeRef & | operator= (std::nullptr_t) noexcept |
| ConstNodeRef & | operator= (ConstNodeRef const &) noexcept=default |
| ConstNodeRef & | operator= (ConstNodeRef &&) noexcept=default |
| ConstNodeRef & | operator= (NodeRef const &) noexcept |
| ConstNodeRef & | operator= (NodeRef &&) noexcept |
member getters | |
| Tree const * | tree () const noexcept |
| id_type | id () const noexcept |
comparisons | |
| bool | operator== (ConstNodeRef const &that) const RYML_NOEXCEPT |
| bool | operator!= (ConstNodeRef const &that) const RYML_NOEXCEPT |
node property getters | |
| NodeData const * | get () const RYML_NOEXCEPT |
| returns the data or null when the id is NONE More... | |
| auto | get () RYML_NOEXCEPT -> NodeData * |
| returns the data or null when the id is NONE More... | |
| NodeType | type () const RYML_NOEXCEPT |
| Forward to Tree::type(). More... | |
| const char * | type_str () const RYML_NOEXCEPT |
| Forward to Tree::type_str(). More... | |
| csubstr | key () const RYML_NOEXCEPT |
| Forward to Tree::key(). More... | |
| csubstr | key_tag () const RYML_NOEXCEPT |
| Forward to Tree::key_tag(). More... | |
| csubstr | key_ref () const RYML_NOEXCEPT |
| Forward to Tree::key_ref(). More... | |
| csubstr | key_anchor () const RYML_NOEXCEPT |
| Forward to Tree::key_anchor(). More... | |
| csubstr | val () const RYML_NOEXCEPT |
| Forward to Tree::val(). More... | |
| csubstr | val_tag () const RYML_NOEXCEPT |
| Forward to Tree::val_tag(). More... | |
| csubstr | val_ref () const RYML_NOEXCEPT |
| Forward to Tree::val_ref(). More... | |
| csubstr | val_anchor () const RYML_NOEXCEPT |
| Forward to Tree::val_anchor(). More... | |
| NodeScalar const & | keysc () const RYML_NOEXCEPT |
| Forward to Tree::keysc(). More... | |
| NodeScalar const & | valsc () const RYML_NOEXCEPT |
| Forward to Tree::valsc(). More... | |
| bool | key_is_null () const RYML_NOEXCEPT |
| Forward to Tree::key_is_null(). More... | |
| bool | val_is_null () const RYML_NOEXCEPT |
| Forward to Tree::val_is_null(). More... | |
| bool | is_key_unfiltered () const noexcept |
| Forward to Tree::is_key_unfiltered(). More... | |
| bool | is_val_unfiltered () const noexcept |
| Forward to Tree::is_val_unfiltered(). More... | |
node type predicates | |
| bool | empty () const RYML_NOEXCEPT |
| Forward to Tree::empty(). More... | |
| bool | is_stream () const RYML_NOEXCEPT |
| Forward to Tree::is_stream(). More... | |
| bool | is_doc () const RYML_NOEXCEPT |
| Forward to Tree::is_doc(). More... | |
| bool | is_container () const RYML_NOEXCEPT |
| Forward to Tree::is_container(). More... | |
| bool | is_map () const RYML_NOEXCEPT |
| Forward to Tree::is_map(). More... | |
| bool | is_seq () const RYML_NOEXCEPT |
| Forward to Tree::is_seq(). More... | |
| bool | has_val () const RYML_NOEXCEPT |
| Forward to Tree::has_val(). More... | |
| bool | has_key () const RYML_NOEXCEPT |
| Forward to Tree::has_key(). More... | |
| bool | is_val () const RYML_NOEXCEPT |
| Forward to Tree::is_val(). More... | |
| bool | is_keyval () const RYML_NOEXCEPT |
| Forward to Tree::is_keyval(). More... | |
| bool | has_key_tag () const RYML_NOEXCEPT |
| Forward to Tree::has_key_tag(). More... | |
| bool | has_val_tag () const RYML_NOEXCEPT |
| Forward to Tree::has_val_tag(). More... | |
| bool | has_key_anchor () const RYML_NOEXCEPT |
| Forward to Tree::has_key_anchor(). More... | |
| bool | has_val_anchor () const RYML_NOEXCEPT |
| Forward to Tree::has_val_anchor(). More... | |
| bool | has_anchor () const RYML_NOEXCEPT |
| Forward to Tree::has_anchor(). More... | |
| bool | is_key_ref () const RYML_NOEXCEPT |
| Forward to Tree::is_key_ref(). More... | |
| bool | is_val_ref () const RYML_NOEXCEPT |
| Forward to Tree::is_val_ref(). More... | |
| bool | is_ref () const RYML_NOEXCEPT |
| Forward to Tree::is_ref(). More... | |
| bool | parent_is_seq () const RYML_NOEXCEPT |
| Forward to Tree::parent_is_seq(). More... | |
| bool | parent_is_map () const RYML_NOEXCEPT |
| Forward to Tree::parent_is_map(). More... | |
| bool | is_key_anchor () const noexcept |
| bool | is_val_hanchor () const noexcept |
| bool | is_anchor () const noexcept |
| bool | is_anchor_or_ref () const noexcept |
style predicates | |
| bool | type_has_any (NodeType_e bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_any(). More... | |
| bool | type_has_all (NodeType_e bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_all(). More... | |
| bool | type_has_none (NodeType_e bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_none(). More... | |
| NodeType | key_style () const RYML_NOEXCEPT |
| Forward to Tree::key_style(). More... | |
| NodeType | val_style () const RYML_NOEXCEPT |
| Forward to Tree::val_style(). More... | |
| bool | is_container_styled () const RYML_NOEXCEPT |
| Forward to Tree::is_container_styled(). More... | |
| bool | is_block () const RYML_NOEXCEPT |
| Forward to Tree::is_block(). More... | |
| bool | is_flow_sl () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_sl(). More... | |
| bool | is_flow_ml () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_ml(). More... | |
| bool | is_flow () const RYML_NOEXCEPT |
| Forward to Tree::is_flow(). More... | |
| bool | is_key_styled () const RYML_NOEXCEPT |
| Forward to Tree::is_key_styled(). More... | |
| bool | is_val_styled () const RYML_NOEXCEPT |
| Forward to Tree::is_val_styled(). More... | |
| bool | is_key_literal () const RYML_NOEXCEPT |
| Forward to Tree::is_key_literal(). More... | |
| bool | is_val_literal () const RYML_NOEXCEPT |
| Forward to Tree::is_val_literal(). More... | |
| bool | is_key_folded () const RYML_NOEXCEPT |
| Forward to Tree::is_key_folded(). More... | |
| bool | is_val_folded () const RYML_NOEXCEPT |
| Forward to Tree::is_val_folded(). More... | |
| bool | is_key_squo () const RYML_NOEXCEPT |
| Forward to Tree::is_key_squo(). More... | |
| bool | is_val_squo () const RYML_NOEXCEPT |
| Forward to Tree::is_val_squo(). More... | |
| bool | is_key_dquo () const RYML_NOEXCEPT |
| Forward to Tree::is_key_dquo(). More... | |
| bool | is_val_dquo () const RYML_NOEXCEPT |
| Forward to Tree::is_val_dquo(). More... | |
| bool | is_key_plain () const RYML_NOEXCEPT |
| Forward to Tree::is_key_plain(). More... | |
| bool | is_val_plain () const RYML_NOEXCEPT |
| Forward to Tree::is_val_plain(). More... | |
| bool | is_key_quoted () const RYML_NOEXCEPT |
| Forward to Tree::is_key_quoted(). More... | |
| bool | is_val_quoted () const RYML_NOEXCEPT |
| Forward to Tree::is_val_quoted(). More... | |
| bool | is_quoted () const RYML_NOEXCEPT |
| Forward to Tree::is_quoted(). More... | |
hierarchy predicates | |
| bool | is_root () const RYML_NOEXCEPT |
| Forward to Tree::is_root(). More... | |
| bool | has_parent () const RYML_NOEXCEPT |
| Forward to Tree::has_parent() Node must be readable. More... | |
| bool | is_ancestor (ConstNodeRef const &ancestor) const RYML_NOEXCEPT |
| Forward to Tree::is_ancestor() Node must be readable. More... | |
| bool | has_child (ConstNodeRef const &n) const RYML_NOEXCEPT |
| Forward to Tree::has_child(). More... | |
| bool | has_child (id_type node) const RYML_NOEXCEPT |
| Forward to Tree::has_child(). More... | |
| bool | has_child (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::has_child(). More... | |
| bool | has_children () const RYML_NOEXCEPT |
| Forward to Tree::has_children(). More... | |
| bool | has_sibling (ConstNodeRef const &n) const RYML_NOEXCEPT |
| Forward to Tree::has_sibling(). More... | |
| bool | has_sibling (id_type node) const RYML_NOEXCEPT |
| Forward to Tree::has_sibling(). More... | |
| bool | has_sibling (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::has_sibling(). More... | |
| bool | has_other_siblings () const RYML_NOEXCEPT |
| Forward to Tree::has_other_siblings(). More... | |
| bool | has_siblings () const RYML_NOEXCEPT |
hierarchy getters | |
| auto | doc (id_type i) RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::doc(). More... | |
| ConstNodeRef | doc (id_type i) const RYML_NOEXCEPT |
| Forward to Tree::doc(). More... | |
| auto | parent () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::parent(). More... | |
| ConstNodeRef | parent () const RYML_NOEXCEPT |
| Forward to Tree::parent(). More... | |
| auto | first_child () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::first_child(). More... | |
| ConstNodeRef | first_child () const RYML_NOEXCEPT |
| Forward to Tree::first_child(). More... | |
| auto | last_child () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::last_child(). More... | |
| ConstNodeRef | last_child () const RYML_NOEXCEPT |
| Forward to Tree::last_child(). More... | |
| auto | child (id_type pos) RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::child(). More... | |
| ConstNodeRef | child (id_type pos) const RYML_NOEXCEPT |
| Forward to Tree::child(). More... | |
| auto | find_child (csubstr name) RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::find_child(). More... | |
| ConstNodeRef | find_child (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::find_child(). More... | |
| auto | prev_sibling () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::prev_sibling(). More... | |
| ConstNodeRef | prev_sibling () const RYML_NOEXCEPT |
| Forward to Tree::prev_sibling(). More... | |
| auto | next_sibling () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::next_sibling(). More... | |
| ConstNodeRef | next_sibling () const RYML_NOEXCEPT |
| Forward to Tree::next_sibling(). More... | |
| auto | first_sibling () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::first_sibling(). More... | |
| ConstNodeRef | first_sibling () const RYML_NOEXCEPT |
| Forward to Tree::first_sibling(). More... | |
| auto | last_sibling () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::last_sibling(). More... | |
| ConstNodeRef | last_sibling () const RYML_NOEXCEPT |
| Forward to Tree::last_sibling(). More... | |
| auto | sibling (id_type pos) RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::sibling(). More... | |
| ConstNodeRef | sibling (id_type pos) const RYML_NOEXCEPT |
| Forward to Tree::sibling(). More... | |
| auto | find_sibling (csubstr name) RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::find_sibling(). More... | |
| ConstNodeRef | find_sibling (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::find_sibling(). More... | |
| auto | ancestor_doc () RYML_NOEXCEPT -> ConstNodeRef |
| Forward to Tree::ancestor_doc(). More... | |
| ConstNodeRef | ancestor_doc () const RYML_NOEXCEPT |
| Forward to Tree::ancestor_doc(). More... | |
| id_type | num_children () const RYML_NOEXCEPT |
| O(num_children). More... | |
| id_type | num_siblings () const RYML_NOEXCEPT |
| O(num_children). More... | |
| id_type | num_other_siblings () const RYML_NOEXCEPT |
| O(num_siblings). More... | |
| id_type | child_pos (ConstNodeRef const &n) const RYML_NOEXCEPT |
| O(num_children). More... | |
| id_type | sibling_pos (ConstNodeRef const &n) const RYML_NOEXCEPT |
| O(num_siblings). More... | |
| id_type | depth_asc () const RYML_NOEXCEPT |
| id_type | depth_desc () const RYML_NOEXCEPT |
| O(log(num_nodes)). More... | |
square_brackets | |
| auto | operator[] (csubstr key) RYML_NOEXCEPT -> ConstNodeRef |
| Find child by key; complexity is O(num_children). More... | |
| auto | operator[] (id_type pos) RYML_NOEXCEPT -> ConstNodeRef |
| Find child by position; complexity is O(pos). More... | |
| ConstNodeRef | operator[] (csubstr key) const RYML_NOEXCEPT |
| Find a child by key; complexity is O(num_children). More... | |
| ConstNodeRef | operator[] (id_type pos) const RYML_NOEXCEPT |
| Find a child by position; complexity is O(pos). More... | |
at | |
These functions are the analogue to operator[], with the difference that they emit an error instead of an assertion. That is, if any of the pre or post conditions is violated, an error is always emitted (resulting in a call to the error callback). | |
| auto | at (csubstr key) -> ConstNodeRef |
| Find child by key; complexity is O(num_children). More... | |
| auto | at (id_type pos) -> ConstNodeRef |
| Find child by position; complexity is O(pos). More... | |
| ConstNodeRef | at (csubstr key) const |
| Get a child by name, with error checking; complexity is O(num_children). More... | |
| ConstNodeRef | at (id_type pos) const |
| Get a child by position, with error checking; complexity is O(pos). More... | |
locations | |
| Location | location (Parser const &parser) const |
deserialization | |
| ConstNodeRef const & | operator>> (T &v) const |
| deserialize the node's val to the given variable, forwarding to the user-overrideable read() function. More... | |
| ConstNodeRef const & | operator>> (Key< T > v) const |
deserialize the node's key to the given variable, forwarding to the user-overrideable read() function; use key() to disambiguate; for example: node >> ryml::key(var) More... | |
| bool | get_if (csubstr name, T *var) const |
| look for a child by name, if it exists assign to var. More... | |
| bool | get_if (csubstr name, T *var, T const &fallback) const |
| look for a child by name, if it exists assign to var, otherwise default to fallback. More... | |
deserialization_base64 | |
| ConstNodeRef const & | operator>> (Key< fmt::base64_wrapper > w) const |
| deserialize the node's key as base64. More... | |
| ConstNodeRef const & | operator>> (fmt::base64_wrapper w) const |
| deserialize the node's val as base64. More... | |
| size_t | deserialize_key (fmt::base64_wrapper v) const |
| decode the base64-encoded key and assign the decoded blob to the given buffer/ More... | |
| size_t | deserialize_val (fmt::base64_wrapper v) const |
| decode the base64-encoded key and assign the decoded blob to the given buffer/ More... | |
Public Attributes | |
| Tree const * | m_tree |
| id_type | m_id |
| friend | NodeRef |
Friends | |
| struct | detail::RoNodeMethods< ConstNodeRef, ConstNodeRef > |
iteration | |
| using | iterator = detail::child_iterator< ConstNodeRef > |
| using | const_iterator = detail::child_iterator< ConstNodeRef > |
| using | children_view = detail::children_view_< ConstNodeRef > |
| using | const_children_view = detail::children_view_< ConstNodeRef > |
| auto | begin () RYML_NOEXCEPT -> iterator |
| get a mutable iterator to the first child. More... | |
| const_iterator | begin () const RYML_NOEXCEPT |
| get an iterator to the first child More... | |
| const_iterator | cbegin () const RYML_NOEXCEPT |
| get an iterator to the first child More... | |
| auto | end () RYML_NOEXCEPT -> iterator |
| get an iterator to after the last child. More... | |
| const_iterator | end () const RYML_NOEXCEPT |
| get an iterator to after the last child More... | |
| const_iterator | cend () const RYML_NOEXCEPT |
| get an iterator to after the last child More... | |
| auto | children () RYML_NOEXCEPT -> children_view |
| get an iterable view over children. More... | |
| const_children_view | children () const RYML_NOEXCEPT |
| get an iterable view over children More... | |
| const_children_view | cchildren () const RYML_NOEXCEPT |
| get an iterable view over children More... | |
| auto | siblings () RYML_NOEXCEPT -> children_view |
| get an iterable view over all siblings (including the calling node) More... | |
| const_children_view | siblings () const RYML_NOEXCEPT |
| get an iterable view over all siblings (including the calling node) More... | |
| const_children_view | csiblings () const RYML_NOEXCEPT |
| get an iterable view over all siblings (including the calling node) More... | |
| bool | visit (Visitor fn, id_type indentation_level=0, bool skip_root=true) const RYML_NOEXCEPT |
| visit every child node calling fn(node) More... | |
| auto | visit (Visitor fn, id_type indentation_level=0, bool skip_root=true) RYML_NOEXCEPT -> bool |
| visit every child node calling fn(node) More... | |
| bool | visit_stacked (Visitor fn, id_type indentation_level=0, bool skip_root=true) const RYML_NOEXCEPT |
| visit every child node calling fn(node, level) More... | |
| auto | visit_stacked (Visitor fn, id_type indentation_level=0, bool skip_root=true) RYML_NOEXCEPT -> bool |
| visit every child node calling fn(node, level) More... | |
state queries | |
see NodeRef for an explanation on what these states mean | |
| bool | invalid () const noexcept |
| bool | readable () const noexcept |
| because a ConstNodeRef cannot be used to write to the tree, readable() has the same meaning as !invalid() More... | |
| bool | valid () const noexcept |
| constexpr static bool | is_seed () noexcept |
| because a ConstNodeRef cannot be used to write to the tree, it can never be a seed. More... | |
Holds a pointer to an existing tree, and a node id.
It can be used only to read from the tree.
| using c4::yml::ConstNodeRef::tree_type = Tree const |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
because a ConstNodeRef cannot be used to write to the tree, readable() has the same meaning as !invalid()
Definition at line 912 of file node.hpp.
References c4::yml::NONE.
|
inlinestaticconstexprnoexcept |
because a ConstNodeRef cannot be used to write to the tree, it can never be a seed.
This method is provided for API equivalence between ConstNodeRef and NodeRef.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
Definition at line 937 of file node.hpp.
References c4::operator==().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
Forward to Tree::is_key_unfiltered().
Node must be readable.
|
inlinenoexceptinherited |
Forward to Tree::is_val_unfiltered().
Node must be readable.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::is_container_styled().
Node must be readable.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::has_parent() Node must be readable.
|
inlineinherited |
Forward to Tree::is_ancestor() Node must be readable.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::has_other_siblings().
Node must be readable.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::doc().
Node must be readable. succeeds even when the node may have invalid or seed id
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
O(log(num_nodes)).
Forward to Tree::depth_asc(). Node must be readable.
Definition at line 393 of file node.hpp.
|
inlineinherited |
Find child by key; complexity is O(num_children).
Returns the requested node, or an object in seed state if no such child is found (see NodeRef for an explanation of what is seed state). When the object is in seed state, using it to read from the tree is UB. The seed node can be used to write to the tree provided that its create() method is called prior to writing, which happens in most modifying methods in NodeRef. It is the caller's responsibility to verify that the returned node is readable before subsequently using it to read from the tree.
Definition at line 422 of file node.hpp.
|
inlineinherited |
Find child by position; complexity is O(pos).
Returns the requested node, or an object in seed state if no such child is found (see NodeRef for an explanation of what is seed state). When the object is in seed state, using it to read from the tree is UB. The seed node can be used to write to the tree provided that its create() method is called prior to writing, which happens in most modifying methods in NodeRef. It is the caller's responsibility to verify that the returned node is readable before subsequently using it to read from the tree.
|
inlineinherited |
Find a child by key; complexity is O(num_children).
Behaves similar to the non-const overload, but further asserts that the returned node is readable (because it can never be in a seed state). The assertion is performed only if RYML_USE_ASSERT is set to true. As with the non-const overload, it is UB to use the return value if it is not valid.
|
inlineinherited |
Find a child by position; complexity is O(pos).
Behaves similar to the non-const overload, but further asserts that the returned node is readable (because it can never be in a seed state). This assertion is performed only if RYML_USE_ASSERT is set to true. As with the non-const overload, it is UB to use the return value if it is not valid.
|
inlineinherited |
Find child by key; complexity is O(num_children).
Returns the requested node, or an object in seed state if no such child is found (see NodeRef for an explanation of what is seed state). When the object is in seed state, using it to read from the tree is UB. The seed node can be subsequently used to write to the tree provided that its create() method is called prior to writing, which happens inside most mutating methods in NodeRef. It is the caller's responsibility to verify that the returned node is readable before subsequently using it to read from the tree.
Definition at line 529 of file node.hpp.
|
inlineinherited |
Find child by position; complexity is O(pos).
Returns the requested node, or an object in seed state if no such child is found (see NodeRef for an explanation of what is seed state). When the object is in seed state, using it to read from the tree is UB. The seed node can be used to write to the tree provided that its create() method is called prior to writing, which happens in most modifying methods in NodeRef. It is the caller's responsibility to verify that the returned node is readable before subsequently using it to read from the tree.
Definition at line 565 of file node.hpp.
|
inlineinherited |
Get a child by name, with error checking; complexity is O(num_children).
Behaves as operator[](csubstr) const, but always raises an error (even when RYML_USE_ASSERT is set to false) when the returned node does not exist, or when this node is not readable, or when it is not a map. This behaviour is similar to std::vector::at(), but the error consists in calling the error callback instead of directly raising an exception.
Definition at line 586 of file node.hpp.
|
inlineinherited |
Get a child by position, with error checking; complexity is O(pos).
Behaves as operator[](id_type) const, but always raises an error (even when RYML_USE_ASSERT is set to false) when the returned node does not exist, or when this node is not readable, or when it is not a container. This behaviour is similar to std::vector::at(), but the error consists in calling the error callback instead of directly raising an exception.
Definition at line 606 of file node.hpp.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
deserialize the node's key as base64.
lightweight wrapper over deserialize_key()
Definition at line 699 of file node.hpp.
|
inlineinherited |
deserialize the node's val as base64.
lightweight wrapper over deserialize_val()
Definition at line 706 of file node.hpp.
|
inlineinherited |
look for a child by name, if it exists assign to var.
return true if the child existed.
Definition at line 665 of file node.hpp.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
decode the base64-encoded key and assign the decoded blob to the given buffer/
Definition at line 723 of file node.hpp.
|
inlineinherited |
get a mutable iterator to the first child.
NOT AVAILABLE for ConstNodeRef.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
get an iterator to after the last child.
NOT AVAILABLE for ConstNodeRef.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
get an iterable view over children.
NOT AVAILABLE for ConstNodeRef.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
get an iterable view over all siblings (including the calling node)
Definition at line 772 of file node.hpp.
|
inlineinherited |
get an iterable view over all siblings (including the calling node)
Definition at line 782 of file node.hpp.
|
inlineinherited |
get an iterable view over all siblings (including the calling node)
Definition at line 792 of file node.hpp.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
friend |