|
rapidyaml
0.16.0
parseandemitYAML,anddoitfast
|
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(). More... | |
hierarchy getters | |
| ConstNodeRef | parent () const RYML_NOEXCEPT |
| Forward to Tree::parent(). More... | |
| ConstNodeRef | first_child () const RYML_NOEXCEPT |
| Forward to Tree::first_child(). More... | |
| ConstNodeRef | last_child () const RYML_NOEXCEPT |
| Forward to Tree::last_child(). More... | |
| ConstNodeRef | child (id_type pos) const RYML_NOEXCEPT |
| Forward to Tree::child(). More... | |
| ConstNodeRef | find_child (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::find_child(). More... | |
| ConstNodeRef | prev_sibling () const RYML_NOEXCEPT |
| Forward to Tree::prev_sibling(). More... | |
| ConstNodeRef | next_sibling () const RYML_NOEXCEPT |
| Forward to Tree::next_sibling(). More... | |
| ConstNodeRef | first_sibling () const RYML_NOEXCEPT |
| Forward to Tree::first_sibling(). More... | |
| ConstNodeRef | last_sibling () const RYML_NOEXCEPT |
| Forward to Tree::last_sibling(). More... | |
| ConstNodeRef | sibling (id_type pos) const RYML_NOEXCEPT |
| Forward to Tree::sibling(). More... | |
| ConstNodeRef | find_sibling (csubstr name) const RYML_NOEXCEPT |
| Forward to Tree::find_sibling(). More... | |
| ConstNodeRef | ancestor_doc () const RYML_NOEXCEPT |
| Forward to Tree::ancestor_doc(). More... | |
| ConstNodeRef | doc (id_type i) const RYML_NOEXCEPT |
| Forward to Tree::doc(). More... | |
| 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(). More... | |
| ReadResult | sibling_r (id_type pos, ConstNodeRef *sibling) const RYML_NOEXCEPT |
| Forward to Tree::find_child_r(). More... | |
| ReadResult | find_sibling_r (csubstr name, ConstNodeRef *sibling) const RYML_NOEXCEPT |
| Forward to Tree::sibling_r(). More... | |
square_brackets | |
Forward to Tree::find_sibling_r(). Node must be readable. operator[] | |
| 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). | |
| 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... | |
node property getters | |
| NodeType | type () const RYML_NOEXCEPT |
| Forward to Tree::type(). 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... | |
style predicates | |
| bool | type_has_any (type_bits bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_any(). More... | |
| bool | type_has_all (type_bits bits) const RYML_NOEXCEPT |
| Forward to Tree::type_has_all(). More... | |
| bool | type_has_none (type_bits 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 () const RYML_NOEXCEPT |
| Forward to Tree::is_flow(). 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_ml1(). More... | |
| bool | is_flow_ml1 () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_ml1(). More... | |
| bool | is_flow_mln () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_mln(). More... | |
| bool | is_flow_mlx () const RYML_NOEXCEPT |
| Forward to Tree::is_flow_mlx(). More... | |
| bool | has_flow_space () const RYML_NOEXCEPT |
| Forward to Tree::has_flow_space(). 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 (ConstImpl const &ancestor) const RYML_NOEXCEPT |
| Forward to Tree::is_ancestor() Node must be readable. More... | |
| bool | has_child (ConstImpl 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 (ConstImpl 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... | |
hierarchy getters | |
| 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 (ConstImpl const &n) const RYML_NOEXCEPT |
| O(num_children). More... | |
| id_type | sibling_pos (ConstImpl 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... | |
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. | |
| template<class T > | |
| 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). More... | |
| template<class Wrapper > | |
| void | load (Wrapper const &wrapper, bool check_readable=true) const |
| (2) like (1), but for wrapper tag types such as c4::fmt::base64() More... | |
| template<class T > | |
| 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). More... | |
| template<class Wrapper > | |
| void | load_key (Wrapper const &wrapper, bool check_readable=true) const |
| (2) like (1), but for wrapper tag types such as c4::fmt::base64() More... | |
deserialization: asserts node readability, returns success status | |
| template<class T > | |
| 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). More... | |
| template<class Wrapper > | |
| ReadResult | deserialize (Wrapper const &wrapper) const |
| (2) like (1), but for wrapper tag types such as c4::fmt::base64() More... | |
| template<class T > | |
| 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). More... | |
| template<class Wrapper > | |
| ReadResult | deserialize_key (Wrapper const &wrapper) const |
| (2) like (1), but for wrapper tag types such as c4::fmt::base64() More... | |
lookup and deserialize | |
| template<class T > | |
| 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). More... | |
| template<class T > | |
| ReadResult | deserialize_child (csubstr child_key, T *v, T const &fallback) const |
| (2) like (1), but assign from fallback if no such child exists. More... | |
| template<class Wrapper > | |
| ReadResult | deserialize_child (csubstr child_key, Wrapper const &v) const |
| (3) like (1), but for wrapper tag types such as c4::fmt::base64() More... | |
| template<class T > | |
| ReadResult | deserialize_child (id_type child_pos, T *v) const |
| (1) find a child by position and deserialize its contents to the given variable (ie call .deserialize() on the child if it exists). More... | |
| template<class T > | |
| ReadResult | deserialize_child (id_type child_pos, T *v, T const &fallback) const |
| (2) like (1), but assign from fallback if no such child exists More... | |
| template<class Wrapper > | |
| ReadResult | deserialize_child (id_type child_pos, Wrapper const &wrapper) const |
| (3) like (1), but for wrapper tag types such as c4::fmt::base64() More... | |
legacy operators | |
| template<class T > | |
| Impl const & | operator>> (T &v) const |
| template<class T > | |
| Impl const & | operator>> (T const &wrapper) const |
| template<class T > | |
| Impl const & | operator>> (Key< T > const &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 > |
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... | |
| static constexpr bool | is_seed () noexcept |
| because a ConstNodeRef cannot be used to write to the tree, it can never be a seed. More... | |
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 More... | |
| const_iterator | cbegin () const RYML_NOEXCEPT |
| get an iterator to the first 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... | |
| 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... | |
| 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) 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 |
| 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 |
|
inlinenoexcept |
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
Definition at line 2034 of file node.hpp.
|
inlinenoexcept |
Definition at line 2040 of file node.hpp.
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
Definition at line 2047 of file node.hpp.
|
inlinenoexcept |
Definition at line 2054 of file node.hpp.
|
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_yaml(), and sample_quick_overview().
|
inlinestaticnoexcept |
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 |
Definition at line 821 of file node.hpp.
Referenced by c4::yml::emit_json(), c4::yml::emit_yaml(), c4::yml::emitrs_json(), c4::yml::emitrs_yaml(), c4::yml::operator<<(), and c4::yml::read().
|
inlinenoexcept |
Definition at line 822 of file node.hpp.
Referenced by c4::yml::emit_json(), c4::yml::emit_yaml(), c4::yml::emitrs_json(), c4::yml::emitrs_yaml(), c4::yml::operator<<(), 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 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 |
|
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 |
Forward to Tree::child_r().
Node must be readable.
Definition at line 868 of file node.hpp.
|
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.
Definition at line 871 of file node.hpp.
|
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.
Definition at line 890 of file node.hpp.
|
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.
Definition at line 907 of file node.hpp.
|
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.
Definition at line 938 of file node.hpp.
|
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 |
Forward to Tree::type().
Node must be readable.
Definition at line 172 of file node.hpp.
Referenced by sample_style_flow_formatting().
|
inlineinherited |
Forward to Tree::key().
Node must be readable.
Definition at line 174 of file node.hpp.
Referenced by sample_quick_overview().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::val().
Node must be readable.
Definition at line 179 of file node.hpp.
Referenced by sample_base64(), sample_create_tree(), sample_fundamental_types(), and sample_quick_overview().
|
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 |
Forward to Tree::is_stream().
Node must be readable.
Definition at line 204 of file node.hpp.
Referenced by sample_docs(), and sample_tags().
|
inlineinherited |
Forward to Tree::is_doc().
Node must be readable.
Definition at line 205 of file node.hpp.
Referenced by sample_docs().
|
inlineinherited |
|
inlineinherited |
Forward to Tree::is_map().
Node must be readable.
Definition at line 207 of file node.hpp.
Referenced by c4::yml::read(), read(), sample_parse_in_arena(), sample_parse_in_place(), and sample_parse_reuse_tree().
|
inlineinherited |
Forward to Tree::is_seq().
Node must be readable.
Definition at line 208 of file node.hpp.
Referenced by c4::yml::read(), read(), sample_parse_reuse_tree(), and sample_quick_overview().
|
inlineinherited |
Forward to Tree::has_val().
Node must be readable.
Definition at line 209 of file node.hpp.
Referenced by sample_quick_overview().
|
inlineinherited |
Forward to Tree::has_key().
Node must be readable.
Definition at line 210 of file node.hpp.
Referenced by sample_quick_overview().
|
inlineinherited |
Forward to Tree::is_val().
Node must be readable.
Definition at line 211 of file node.hpp.
Referenced by sample_quick_overview().
|
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 |
Forward to Tree::is_block().
Node must be readable.
Definition at line 242 of file node.hpp.
Referenced by sample_parse_style(), and sample_style().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::is_key_plain().
Node must be readable.
Definition at line 262 of file node.hpp.
Referenced by sample_create_tree_style().
|
inlineinherited |
Forward to Tree::is_val_plain().
Node must be readable.
Definition at line 263 of file node.hpp.
Referenced by sample_create_tree_style().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Forward to Tree::is_root().
Node must be readable.
Definition at line 278 of file node.hpp.
Referenced by sample_docs().
|
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 |
O(num_children).
Forward to Tree::num_children().
Definition at line 302 of file node.hpp.
Referenced by sample_docs(), sample_parse_reuse_tree(), and sample_tags().
|
inlineinherited |
O(num_children).
Forward to Tree::num_siblings().
Definition at line 303 of file node.hpp.
Referenced by sample_quick_overview().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
O(log(num_nodes)).
Forward to Tree::depth_asc(). Node must be readable.
|
inlineinherited |
Definition at line 318 of file node.hpp.
Referenced by sample_location_tracking(), and sample_quick_overview().
|
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.
Referenced by sample_base64(), sample_deserialize_error(), sample_float_precision(), sample_fundamental_types(), sample_lightning_overview(), sample_parse_in_arena(), sample_parse_in_place(), sample_std_types(), sample_user_container_types(), sample_user_container_types_brief(), and sample_user_scalar_types().
|
inlineinherited |
(2) like (1), but for wrapper tag types such as c4::fmt::base64()
Definition at line 361 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 |
(2) like (1), but for wrapper tag types such as c4::fmt::base64()
Definition at line 401 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.
Referenced by sample_deserialize_error().
|
inlineinherited |
(2) like (1), but for wrapper tag types such as c4::fmt::base64()
Definition at line 437 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 |
(2) like (1), but for wrapper tag types such as c4::fmt::base64()
Definition at line 460 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.
Referenced by read().
|
inlineinherited |
|
inlineinherited |
(3) like (1), but for wrapper tag types such as c4::fmt::base64()
|
inlineinherited |
(1) find a child by position 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 526 of file node.hpp.
|
inlineinherited |
(2) like (1), but assign from fallback if no such child exists
Definition at line 537 of file node.hpp.
|
inlineinherited |
(3) like (1), but for wrapper tag types such as c4::fmt::base64()
Definition at line 549 of file node.hpp.
|
inlineinherited |
Definition at line 573 of file node.hpp.
|
inlineinherited |
Definition at line 577 of file node.hpp.
|
inlineinherited |
Definition at line 581 of file node.hpp.
|
inlineprotectedinherited |
Definition at line 589 of file node.hpp.
|
inlineprotectedinherited |
Definition at line 598 of file node.hpp.
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
friend |
| Tree const* c4::yml::ConstNodeRef::m_tree |
Definition at line 744 of file node.hpp.
Referenced by c4::yml::NodeRef::duplicate(), c4::yml::NodeRef::duplicate_children(), c4::yml::NodeRef::insert_sibling(), c4::yml::NodeRef::move(), and c4::yml::NodeRef::operator==().
| id_type c4::yml::ConstNodeRef::m_id |
Definition at line 745 of file node.hpp.
Referenced by c4::yml::NodeRef::duplicate(), c4::yml::NodeRef::duplicate_children(), c4::yml::NodeRef::insert_sibling(), c4::yml::NodeRef::move(), and c4::yml::NodeRef::operator==().