|
rapidyaml 0.15.2
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 (ConstNodeRef const &) noexcept=default | |
| ConstNodeRef (ConstNodeRef &&) noexcept=default | |
| ConstNodeRef (NodeRef const &) noexcept | |
| ConstNodeRef (NodeRef &&) noexcept | |
assignment | |
| 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 |
| Forward to Tree::type(). | |
hierarchy getters | |
| ConstNodeRef | parent () const RYML_NOEXCEPT |
| Forward to Tree::parent(). | |
| ConstNodeRef | first_child () const RYML_NOEXCEPT |
| Forward to Tree::first_child(). | |
| ConstNodeRef | last_child () const RYML_NOEXCEPT |
| Forward to Tree::last_child(). | |
| ConstNodeRef | child (id_type pos) const RYML_NOEXCEPT |
| Forward to Tree::child(). | |
| ConstNodeRef | find_child (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::find_child(). | |
| ConstNodeRef | prev_sibling () const RYML_NOEXCEPT |
| Forward to Tree::prev_sibling(). | |
| ConstNodeRef | next_sibling () const RYML_NOEXCEPT |
| Forward to Tree::next_sibling(). | |
| ConstNodeRef | first_sibling () const RYML_NOEXCEPT |
| Forward to Tree::first_sibling(). | |
| ConstNodeRef | last_sibling () const RYML_NOEXCEPT |
| Forward to Tree::last_sibling(). | |
| ConstNodeRef | sibling (id_type pos) const RYML_NOEXCEPT |
| Forward to Tree::sibling(). | |
| ConstNodeRef | find_sibling (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::find_sibling(). | |
| ConstNodeRef | ancestor_doc () const RYML_NOEXCEPT |
| Forward to Tree::ancestor_doc(). | |
| ConstNodeRef | doc (id_type i) const RYML_NOEXCEPT |
| Forward to Tree::doc(). | |
| ReadResult | child_r (id_type pos, ConstNodeRef *child) const RYML_NOEXCEPT |
| ReadResult | find_child_r (csubstr name, ConstNodeRef *child) const RYML_NOEXCEPT |
| Forward to Tree::child_r(). | |
| ReadResult | sibling_r (id_type pos, ConstNodeRef *sibling) const RYML_NOEXCEPT |
| Forward to Tree::find_child_r(). | |
| ReadResult | find_sibling_r (csubstr name, ConstNodeRef *sibling) const RYML_NOEXCEPT |
| Forward to Tree::sibling_r(). | |
square_brackets | |
| ConstNodeRef | operator[] (csubstr key) const RYML_NOEXCEPT |
| Find a child by key; complexity is O(num_children). | |
| ConstNodeRef | operator[] (id_type pos) const RYML_NOEXCEPT |
| Find a child by position; complexity is O(pos). | |
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). | |
| ConstNodeRef | at (csubstr key) const |
| Get a child by name, with error checking; complexity is O(num_children). | |
| ConstNodeRef | at (id_type pos) const |
| Get a child by position, with error checking; complexity is O(pos). | |
node property getters | |
| NodeType | type () const RYML_NOEXCEPT |
| Forward to Tree::type(). | |
| csubstr | key () const RYML_NOEXCEPT |
| Forward to Tree::key(). | |
| csubstr | key_tag () const RYML_NOEXCEPT |
| Forward to Tree::key_tag(). | |
| csubstr | key_ref () const RYML_NOEXCEPT |
| Forward to Tree::key_ref(). | |
| csubstr | key_anchor () const RYML_NOEXCEPT |
| Forward to Tree::key_anchor(). | |
| csubstr | val () const RYML_NOEXCEPT |
| Forward to Tree::val(). | |
| csubstr | val_tag () const RYML_NOEXCEPT |
| Forward to Tree::val_tag(). | |
| csubstr | val_ref () const RYML_NOEXCEPT |
| Forward to Tree::val_ref(). | |
| csubstr | val_anchor () const RYML_NOEXCEPT |
| Forward to Tree::val_anchor(). | |
| NodeScalar const & | keysc () const RYML_NOEXCEPT |
| Forward to Tree::keysc(). | |
| NodeScalar const & | valsc () const RYML_NOEXCEPT |
| Forward to Tree::valsc(). | |
| bool | key_is_null () const RYML_NOEXCEPT |
| Forward to Tree::key_is_null(). | |
| bool | val_is_null () const RYML_NOEXCEPT |
| Forward to Tree::val_is_null(). | |
| bool | is_key_unfiltered () const noexcept |
| Forward to Tree::is_key_unfiltered(). | |
| bool | is_val_unfiltered () const noexcept |
| Forward to Tree::is_val_unfiltered(). | |
node type predicates | |
| bool | empty () const RYML_NOEXCEPT |
| Forward to Tree::empty(). | |
| bool | is_stream () const RYML_NOEXCEPT |
| Forward to Tree::is_stream(). | |
| bool | is_doc () const RYML_NOEXCEPT |
| Forward to Tree::is_doc(). | |
| bool | is_container () const RYML_NOEXCEPT |
| Forward to Tree::is_container(). | |
| bool | is_map () const RYML_NOEXCEPT |
| Forward to Tree::is_map(). | |
| bool | is_seq () const RYML_NOEXCEPT |
| Forward to Tree::is_seq(). | |
| bool | has_val () const RYML_NOEXCEPT |
| Forward to Tree::has_val(). | |
| bool | has_key () const RYML_NOEXCEPT |
| Forward to Tree::has_key(). | |
| bool | is_val () const RYML_NOEXCEPT |
| Forward to Tree::is_val(). | |
| bool | is_keyval () const RYML_NOEXCEPT |
| Forward to Tree::is_keyval(). | |
| bool | has_key_tag () const RYML_NOEXCEPT |
| Forward to Tree::has_key_tag(). | |
| bool | has_val_tag () const RYML_NOEXCEPT |
| Forward to Tree::has_val_tag(). | |
| bool | has_key_anchor () const RYML_NOEXCEPT |
| Forward to Tree::has_key_anchor(). | |
| bool | has_val_anchor () const RYML_NOEXCEPT |
| Forward to Tree::has_val_anchor(). | |
| bool | has_anchor () const RYML_NOEXCEPT |
| Forward to Tree::has_anchor(). | |
| bool | is_key_ref () const RYML_NOEXCEPT |
| Forward to Tree::is_key_ref(). | |
| bool | is_val_ref () const RYML_NOEXCEPT |
| Forward to Tree::is_val_ref(). | |
| bool | is_ref () const RYML_NOEXCEPT |
| Forward to Tree::is_ref(). | |
| bool | parent_is_seq () const RYML_NOEXCEPT |
| Forward to Tree::parent_is_seq(). | |
| bool | parent_is_map () const RYML_NOEXCEPT |
| Forward to Tree::parent_is_map(). | |
style predicates | |
| bool | type_has_any (type_bits bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_any(). | |
| bool | type_has_all (type_bits bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_all(). | |
| bool | type_has_none (type_bits bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_none(). | |
| NodeType | key_style () const RYML_NOEXCEPT |
| Forward to Tree::key_style(). | |
| NodeType | val_style () const RYML_NOEXCEPT |
| Forward to Tree::val_style(). | |
| bool | is_container_styled () const RYML_NOEXCEPT |
| Forward to Tree::is_container_styled(). | |
| bool | is_block () const RYML_NOEXCEPT |
| Forward to Tree::is_block(). | |
| bool | is_flow () const RYML_NOEXCEPT |
| Forward to Tree::is_flow(). | |
| bool | is_flow_sl () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_sl(). | |
| bool | is_flow_ml () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_ml1(). | |
| bool | is_flow_ml1 () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_ml1(). | |
| bool | is_flow_mln () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_mln(). | |
| bool | is_flow_mlx () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_mlx(). | |
| bool | has_flow_space () const RYML_NOEXCEPT |
| Forward to Tree::has_flow_space(). | |
| bool | is_key_styled () const RYML_NOEXCEPT |
| Forward to Tree::is_key_styled(). | |
| bool | is_val_styled () const RYML_NOEXCEPT |
| Forward to Tree::is_val_styled(). | |
| bool | is_key_literal () const RYML_NOEXCEPT |
| Forward to Tree::is_key_literal(). | |
| bool | is_val_literal () const RYML_NOEXCEPT |
| Forward to Tree::is_val_literal(). | |
| bool | is_key_folded () const RYML_NOEXCEPT |
| Forward to Tree::is_key_folded(). | |
| bool | is_val_folded () const RYML_NOEXCEPT |
| Forward to Tree::is_val_folded(). | |
| bool | is_key_squo () const RYML_NOEXCEPT |
| Forward to Tree::is_key_squo(). | |
| bool | is_val_squo () const RYML_NOEXCEPT |
| Forward to Tree::is_val_squo(). | |
| bool | is_key_dquo () const RYML_NOEXCEPT |
| Forward to Tree::is_key_dquo(). | |
| bool | is_val_dquo () const RYML_NOEXCEPT |
| Forward to Tree::is_val_dquo(). | |
| bool | is_key_plain () const RYML_NOEXCEPT |
| Forward to Tree::is_key_plain(). | |
| bool | is_val_plain () const RYML_NOEXCEPT |
| Forward to Tree::is_val_plain(). | |
| bool | is_key_quoted () const RYML_NOEXCEPT |
| Forward to Tree::is_key_quoted(). | |
| bool | is_val_quoted () const RYML_NOEXCEPT |
| Forward to Tree::is_val_quoted(). | |
| bool | is_quoted () const RYML_NOEXCEPT |
| Forward to Tree::is_quoted(). | |
hierarchy predicates | |
| bool | is_root () const RYML_NOEXCEPT |
| Forward to Tree::is_root(). | |
| bool | has_parent () const RYML_NOEXCEPT |
| Forward to Tree::has_parent() Node must be readable. | |
| bool | is_ancestor (ConstNodeRef const &ancestor) const RYML_NOEXCEPT |
| Forward to Tree::is_ancestor() Node must be readable. | |
| bool | has_child (ConstNodeRef const &n) const RYML_NOEXCEPT |
| Forward to Tree::has_child(). | |
| bool | has_children () const RYML_NOEXCEPT |
| Forward to Tree::has_children(). | |
| bool | has_sibling (ConstNodeRef const &n) const RYML_NOEXCEPT |
| Forward to Tree::has_sibling(). | |
| bool | has_other_siblings () const RYML_NOEXCEPT |
| Forward to Tree::has_other_siblings(). | |
hierarchy getters | |
| id_type | num_children () const RYML_NOEXCEPT |
| O(num_children). | |
| id_type | num_siblings () const RYML_NOEXCEPT |
| O(num_children). | |
| id_type | num_other_siblings () const RYML_NOEXCEPT |
| O(num_siblings). | |
| id_type | child_pos (ConstNodeRef const &n) const RYML_NOEXCEPT |
| O(num_children). | |
| id_type | sibling_pos (ConstNodeRef const &n) const RYML_NOEXCEPT |
| O(num_siblings). | |
| id_type | depth_asc () const RYML_NOEXCEPT |
| id_type | depth_desc () const RYML_NOEXCEPT |
| O(log(num_nodes)). | |
locations | |
O(num_nodes). Forward to Tree::depth_desc(). Node must be readable. | |
| Location | location (Parser const &parser) const |
deserialization: fully checked for lazy code | |
These methods raise an error if the deserialization failed or optionally if the node is not readable. | |
| void | load (T *v, bool check_readable=true) const |
| (1) deserialize the node's contents (val or container) to the given variable, forwarding to the user-overrideable read() function, which can be for ConstNodeRef (see Read from ConstNodeRef) or for tree+id (see Read from Tree). | |
| void | load_key (T *k, bool check_readable=true) const |
| (1) deserialize the node's key (necessarily a scalar) to the given variable, forwarding to the user-overrideable read_key() function, which can be for ConstNodeRef (see Read from ConstNodeRef) or for tree+id (see Read from Tree). | |
deserialization: asserts node readability, returns success status | |
| ReadResult | deserialize (T *v) const |
| (1) deserialize the node's contents (val or container) to the given variable, forwarding to the user-overrideable read() function (see Read from ConstNodeRef). | |
| ReadResult | deserialize_key (T *v) const |
| (1) deserialize the node's key (necessarily a scalar) to the given variable, forwarding to the user-overrideable read_key() function (see Read from ConstNodeRef). | |
lookup and deserialize | |
| ReadResult | deserialize_child (csubstr child_key, T *v) const |
| (1) find a child by name and deserialize its contents to the given variable (ie call .deserialize() on the child if it exists). | |
legacy operators | |
| ConstNodeRef const & | operator>> (T &v) const |
Public Attributes | |
| Tree const * | m_tree |
| id_type | m_id |
Protected Member Functions | |
| void | check_val_ () const |
| void | check_key_ () const |
| void | assert_val_ () const noexcept |
| void | assert_key_ () const noexcept |
Static Protected Member Functions | |
| static void | err_basic_ (const char *msg) |
| static void | err_visit_ (Tree const *tree, id_type id, const char *msg) |
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> |
| const_iterator | begin () const RYML_NOEXCEPT |
| get an iterator to the first child | |
| const_iterator | cbegin () const RYML_NOEXCEPT |
| get an iterator to the first child | |
| const_iterator | end () const RYML_NOEXCEPT |
| get an iterator to after the last child | |
| const_iterator | cend () const RYML_NOEXCEPT |
| get an iterator to after the last child | |
| const_children_view | children () const RYML_NOEXCEPT |
| get an iterable view over children | |
| const_children_view | cchildren () const RYML_NOEXCEPT |
| get an iterable view over children | |
| const_children_view | siblings () const RYML_NOEXCEPT |
| const_children_view | csiblings () const RYML_NOEXCEPT |
| get an iterable view over all siblings (including the calling node) | |
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() | |
| static constexpr bool | is_seed () noexcept |
| because a ConstNodeRef cannot be used to write to the tree, it can never be a seed. | |
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 |
| using c4::yml::ConstNodeRef::iterator = detail::child_iterator<ConstNodeRef> |
| using c4::yml::ConstNodeRef::const_iterator = detail::child_iterator<ConstNodeRef> |
| using c4::yml::ConstNodeRef::children_view = detail::children_view<ConstNodeRef> |
| using c4::yml::ConstNodeRef::const_children_view = detail::children_view<ConstNodeRef> |
|
inlinenoexcept |
Definition at line 757 of file node.hpp.
Referenced by ConstNodeRef(), ConstNodeRef(), ancestor_doc(), at(), at(), child(), child_r(), detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >, doc(), find_child(), find_child_r(), find_sibling(), find_sibling_r(), first_child(), first_sibling(), last_child(), last_sibling(), next_sibling(), operator!=(), operator=(), operator=(), operator=(), operator=(), operator==(), operator[](), operator[](), parent(), prev_sibling(), sibling(), and sibling_r().
|
inlinenoexcept |
|
inlinenoexcept |
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
Definition at line 2034 of file node.hpp.
|
inlinenoexcept |
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
because a ConstNodeRef cannot be used to write to the tree, readable() has the same meaning as !invalid()
Definition at line 793 of file node.hpp.
Referenced by c4::yml::emitrs_json(), c4::yml::emitrs_json(), c4::yml::emitrs_yaml(), c4::yml::emitrs_yaml(), get(), and sample_quick_overview().
|
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.
Definition at line 796 of file node.hpp.
|
inlinenoexcept |
Definition at line 821 of file node.hpp.
Referenced by c4::yml::emit_json(), c4::yml::emit_json(), c4::yml::emit_json(), c4::yml::emit_json(), c4::yml::emit_yaml(), c4::yml::emit_yaml(), c4::yml::emit_yaml(), c4::yml::emit_yaml(), c4::yml::emitrs_json(), c4::yml::emitrs_json(), c4::yml::emitrs_yaml(), c4::yml::emitrs_yaml(), c4::yml::operator<<(), c4::yml::read(), sample_quick_overview(), and tree().
|
inlinenoexcept |
Definition at line 822 of file node.hpp.
Referenced by c4::yml::emit_json(), c4::yml::emit_json(), c4::yml::emit_json(), c4::yml::emit_json(), c4::yml::emit_yaml(), c4::yml::emit_yaml(), c4::yml::emit_yaml(), c4::yml::emit_yaml(), c4::yml::emitrs_json(), c4::yml::emitrs_json(), c4::yml::emitrs_yaml(), c4::yml::emitrs_yaml(), c4::yml::operator<<(), c4::yml::read(), c4::yml::read(), c4::yml::read(), read(), sample_docs(), and sample_quick_overview().
|
inline |
|
inline |
Definition at line 832 of file node.hpp.
|
inline |
|
inline |
Forward to Tree::parent().
Node must be readable.
Definition at line 853 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::first_child().
Node must be readable.
Definition at line 854 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::last_child().
Node must be readable.
Definition at line 855 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::child().
Node must be readable.
Definition at line 856 of file node.hpp.
Referenced by child_r(), find_child_r(), and sample_docs().
|
inline |
|
inline |
Forward to Tree::prev_sibling().
Node must be readable.
Definition at line 858 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::next_sibling().
Node must be readable.
Definition at line 859 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::first_sibling().
Node must be readable.
Definition at line 860 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::last_sibling().
Node must be readable.
Definition at line 861 of file node.hpp.
Referenced by sample_quick_overview().
|
inline |
Forward to Tree::sibling().
Node must be readable.
Definition at line 862 of file node.hpp.
Referenced by find_sibling_r(), and sibling_r().
|
inline |
|
inline |
|
inline |
Forward to Tree::doc().
Node must be readable. succeeds even when the node may have invalid or seed id
|
inline |
Definition at line 867 of file node.hpp.
Referenced by child_r().
|
inline |
|
inline |
Forward to Tree::find_child_r().
Node must be readable.
Definition at line 870 of file node.hpp.
Referenced by sibling_r().
|
inline |
Forward to Tree::sibling_r().
Node must be readable.
|
inline |
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.
|
inline |
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.
|
inline |
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.
|
inline |
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 956 of file node.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
get an iterable view over children
Definition at line 987 of file node.hpp.
Referenced by c4::yml::read(), sample_docs(), sample_float_precision(), sample_iterate_tree(), sample_quick_overview(), and sample_tags().
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::key().
Node must be readable.
Definition at line 174 of file node.hpp.
Referenced by c4::yml::ConstNodeRef::at(), and c4::yml::ConstNodeRef::operator[]().
|
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 |
|
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 |
|
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 |
Forward to Tree::has_other_siblings().
Node must be readable.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 308 of file node.hpp.
|
inlineinherited |
O(log(num_nodes)).
Forward to Tree::depth_asc(). Node must be readable.
Definition at line 309 of file node.hpp.
|
inlineinherited |
Definition at line 318 of file node.hpp.
|
inlineinherited |
(1) deserialize the node's contents (val or container) to the given variable, forwarding to the user-overrideable read() function, which can be for ConstNodeRef (see Read from ConstNodeRef) or for tree+id (see Read from Tree).
This method differs from ConstNodeRef::deserialize() in that here the error callback is called if the deserialization failed, or (optionally) the node is not readable.
Definition at line 345 of file node.hpp.
|
inlineinherited |
(1) deserialize the node's key (necessarily a scalar) to the given variable, forwarding to the user-overrideable read_key() function, which can be for ConstNodeRef (see Read from ConstNodeRef) or for tree+id (see Read from Tree).
This method differs from ConstNodeRef::deserialize_key() in that here the error callback is called if the deserialization failed, or (optionally) the node is not readable.
Definition at line 385 of file node.hpp.
|
inlineinherited |
(1) deserialize the node's contents (val or container) to the given variable, forwarding to the user-overrideable read() function (see Read from ConstNodeRef).
Definition at line 428 of file node.hpp.
|
inlineinherited |
(1) deserialize the node's key (necessarily a scalar) to the given variable, forwarding to the user-overrideable read_key() function (see Read from ConstNodeRef).
Definition at line 451 of file node.hpp.
|
inlineinherited |
(1) find a child by name and deserialize its contents to the given variable (ie call .deserialize() on the child if it exists).
Otherwise, the variable is kept unchanged.
Definition at line 485 of file node.hpp.
|
inlineinherited |
Definition at line 573 of file node.hpp.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
friend |
| Tree const* c4::yml::ConstNodeRef::m_tree |
Definition at line 744 of file node.hpp.
Referenced by ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ancestor_doc(), at(), at(), begin(), cbegin(), cchildren(), cend(), child(), child_r(), children(), csiblings(), doc(), c4::yml::NodeRef::duplicate(), c4::yml::NodeRef::duplicate_children(), end(), find_child(), find_child_r(), find_sibling(), find_sibling_r(), first_child(), first_sibling(), get(), c4::yml::NodeRef::insert_sibling(), invalid(), last_child(), last_sibling(), c4::yml::NodeRef::move(), next_sibling(), operator=(), operator=(), operator==(), c4::yml::NodeRef::operator==(), operator[](), operator[](), parent(), prev_sibling(), readable(), sibling(), sibling_r(), siblings(), and tree().
| id_type c4::yml::ConstNodeRef::m_id |
Definition at line 745 of file node.hpp.
Referenced by ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ConstNodeRef(), ancestor_doc(), at(), at(), begin(), cbegin(), cchildren(), child(), child_r(), children(), csiblings(), c4::yml::NodeRef::duplicate(), c4::yml::NodeRef::duplicate_children(), find_child(), find_child_r(), find_sibling(), find_sibling_r(), first_child(), first_sibling(), get(), id(), c4::yml::NodeRef::insert_sibling(), invalid(), last_child(), last_sibling(), c4::yml::NodeRef::move(), next_sibling(), operator=(), operator=(), operator==(), c4::yml::NodeRef::operator==(), operator[](), operator[](), parent(), prev_sibling(), readable(), sibling(), sibling_r(), and siblings().