rapidyaml  0.11.1
parse and emit YAML, and do it fast
c4::yml::detail::RoNodeMethods< Impl, ConstImpl > Struct Template Reference

#include <node.hpp>

Public Member Functions

node property getters
NodeData const * get () const RYML_NOEXCEPT
 returns the data or null when the id is NONE More...
 
template<class U = Impl>
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 (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...
 
bool has_siblings () const RYML_NOEXCEPT
 
hierarchy getters
template<class U = Impl>
auto doc (id_type i) RYML_NOEXCEPT -> Impl
 Forward to Tree::doc(). More...
 
ConstImpl doc (id_type i) const RYML_NOEXCEPT
 Forward to Tree::doc(). More...
 
template<class U = Impl>
auto parent () RYML_NOEXCEPT -> Impl
 Forward to Tree::parent(). More...
 
ConstImpl parent () const RYML_NOEXCEPT
 Forward to Tree::parent(). More...
 
template<class U = Impl>
auto first_child () RYML_NOEXCEPT -> Impl
 Forward to Tree::first_child(). More...
 
ConstImpl first_child () const RYML_NOEXCEPT
 Forward to Tree::first_child(). More...
 
template<class U = Impl>
auto last_child () RYML_NOEXCEPT -> Impl
 Forward to Tree::last_child(). More...
 
ConstImpl last_child () const RYML_NOEXCEPT
 Forward to Tree::last_child(). More...
 
template<class U = Impl>
auto child (id_type pos) RYML_NOEXCEPT -> Impl
 Forward to Tree::child(). More...
 
ConstImpl child (id_type pos) const RYML_NOEXCEPT
 Forward to Tree::child(). More...
 
template<class U = Impl>
auto find_child (csubstr name) RYML_NOEXCEPT -> Impl
 Forward to Tree::find_child(). More...
 
ConstImpl find_child (csubstr name) const RYML_NOEXCEPT
 Forward to Tree::find_child(). More...
 
template<class U = Impl>
auto prev_sibling () RYML_NOEXCEPT -> Impl
 Forward to Tree::prev_sibling(). More...
 
ConstImpl prev_sibling () const RYML_NOEXCEPT
 Forward to Tree::prev_sibling(). More...
 
template<class U = Impl>
auto next_sibling () RYML_NOEXCEPT -> Impl
 Forward to Tree::next_sibling(). More...
 
ConstImpl next_sibling () const RYML_NOEXCEPT
 Forward to Tree::next_sibling(). More...
 
template<class U = Impl>
auto first_sibling () RYML_NOEXCEPT -> Impl
 Forward to Tree::first_sibling(). More...
 
ConstImpl first_sibling () const RYML_NOEXCEPT
 Forward to Tree::first_sibling(). More...
 
template<class U = Impl>
auto last_sibling () RYML_NOEXCEPT -> Impl
 Forward to Tree::last_sibling(). More...
 
ConstImpl last_sibling () const RYML_NOEXCEPT
 Forward to Tree::last_sibling(). More...
 
template<class U = Impl>
auto sibling (id_type pos) RYML_NOEXCEPT -> Impl
 Forward to Tree::sibling(). More...
 
ConstImpl sibling (id_type pos) const RYML_NOEXCEPT
 Forward to Tree::sibling(). More...
 
template<class U = Impl>
auto find_sibling (csubstr name) RYML_NOEXCEPT -> Impl
 Forward to Tree::find_sibling(). More...
 
ConstImpl find_sibling (csubstr name) const RYML_NOEXCEPT
 Forward to Tree::find_sibling(). 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 (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...
 
square_brackets

O(num_nodes).

Forward to Tree::depth_desc(). Node must be readable.

operator[]

template<class U = Impl>
auto operator[] (csubstr key) RYML_NOEXCEPT -> Impl
 Find child by key; complexity is O(num_children). More...
 
template<class U = Impl>
auto operator[] (id_type pos) RYML_NOEXCEPT -> Impl
 Find child by position; complexity is O(pos). More...
 
ConstImpl operator[] (csubstr key) const RYML_NOEXCEPT
 Find a child by key; complexity is O(num_children). More...
 
ConstImpl 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).

template<class U = Impl>
auto at (csubstr key) -> Impl
 Find child by key; complexity is O(num_children). More...
 
template<class U = Impl>
auto at (id_type pos) -> Impl
 Find child by position; complexity is O(pos). More...
 
ConstImpl at (csubstr key) const
 Get a child by name, with error checking; complexity is O(num_children). More...
 
ConstImpl 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
template<class T >
ConstImpl const & operator>> (T &v) const
 deserialize the node's val to the given variable, forwarding to the user-overrideable read() function. More...
 
template<class T >
ConstImpl 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...
 
template<class T >
bool get_if (csubstr name, T *var) const
 look for a child by name, if it exists assign to var. More...
 
template<class T >
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
ConstImpl const & operator>> (Key< fmt::base64_wrapper > w) const
 deserialize the node's key as base64. More...
 
ConstImpl 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...
 

iteration

using iterator = detail::child_iterator< Impl >
 
using const_iterator = detail::child_iterator< ConstImpl >
 
using children_view = detail::children_view_< Impl >
 
using const_children_view = detail::children_view_< ConstImpl >
 
template<class U = Impl>
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...
 
template<class U = Impl>
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...
 
template<class U = Impl>
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...
 
template<class U = Impl>
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...
 
template<class Visitor >
bool visit (Visitor fn, id_type indentation_level=0, bool skip_root=true) const RYML_NOEXCEPT
 visit every child node calling fn(node) More...
 
template<class Visitor , class U = Impl>
auto visit (Visitor fn, id_type indentation_level=0, bool skip_root=true) RYML_NOEXCEPT -> bool
 visit every child node calling fn(node) More...
 
template<class Visitor >
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...
 
template<class Visitor , class U = Impl>
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...
 

Detailed Description

template<class Impl, class ConstImpl>
struct c4::yml::detail::RoNodeMethods< Impl, ConstImpl >

Definition at line 173 of file node.hpp.

Member Typedef Documentation

◆ iterator

template<class Impl , class ConstImpl >
using c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::iterator = detail::child_iterator<Impl>

Definition at line 742 of file node.hpp.

◆ const_iterator

template<class Impl , class ConstImpl >
using c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::const_iterator = detail::child_iterator<ConstImpl>

Definition at line 743 of file node.hpp.

◆ children_view

template<class Impl , class ConstImpl >
using c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::children_view = detail::children_view_<Impl>

Definition at line 744 of file node.hpp.

◆ const_children_view

template<class Impl , class ConstImpl >
using c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::const_children_view = detail::children_view_<ConstImpl>

Definition at line 745 of file node.hpp.

Member Function Documentation

◆ get() [1/2]

template<class Impl , class ConstImpl >
NodeData const* c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::get ( ) const
inline

returns the data or null when the id is NONE

Definition at line 199 of file node.hpp.

199 { return ((Impl const*)this)->readable() ? tree_->get(id_) : nullptr; }

◆ get() [2/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::get ( ) -> NodeData*
inline

returns the data or null when the id is NONE

Definition at line 203 of file node.hpp.

203 { return ((Impl const*)this)->readable() ? tree__->get(id__) : nullptr; }

◆ type()

template<class Impl , class ConstImpl >
NodeType c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::type ( ) const
inline

Forward to Tree::type().

Node must be readable.

Definition at line 205 of file node.hpp.

References _C4RR.

◆ type_str()

template<class Impl , class ConstImpl >
const char* c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::type_str ( ) const
inline

Forward to Tree::type_str().

Node must be readable.

Definition at line 206 of file node.hpp.

References _C4RR.

◆ key()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key ( ) const
inline

Forward to Tree::key().

Node must be readable.

Definition at line 208 of file node.hpp.

References _C4RR.

◆ key_tag()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key_tag ( ) const
inline

Forward to Tree::key_tag().

Node must be readable.

Definition at line 209 of file node.hpp.

References _C4RR.

◆ key_ref()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key_ref ( ) const
inline

Forward to Tree::key_ref().

Node must be readable.

Definition at line 210 of file node.hpp.

References _C4RR.

◆ key_anchor()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key_anchor ( ) const
inline

Forward to Tree::key_anchor().

Node must be readable.

Definition at line 211 of file node.hpp.

References _C4RR.

◆ val()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val ( ) const
inline

Forward to Tree::val().

Node must be readable.

Definition at line 213 of file node.hpp.

References _C4RR.

◆ val_tag()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val_tag ( ) const
inline

Forward to Tree::val_tag().

Node must be readable.

Definition at line 214 of file node.hpp.

References _C4RR.

◆ val_ref()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val_ref ( ) const
inline

Forward to Tree::val_ref().

Node must be readable.

Definition at line 215 of file node.hpp.

References _C4RR.

◆ val_anchor()

template<class Impl , class ConstImpl >
csubstr c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val_anchor ( ) const
inline

Forward to Tree::val_anchor().

Node must be readable.

Definition at line 216 of file node.hpp.

References _C4RR.

◆ keysc()

template<class Impl , class ConstImpl >
NodeScalar const& c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::keysc ( ) const
inline

Forward to Tree::keysc().

Node must be readable.

Definition at line 218 of file node.hpp.

References _C4RR.

◆ valsc()

template<class Impl , class ConstImpl >
NodeScalar const& c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::valsc ( ) const
inline

Forward to Tree::valsc().

Node must be readable.

Definition at line 219 of file node.hpp.

References _C4RR.

◆ key_is_null()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key_is_null ( ) const
inline

Forward to Tree::key_is_null().

Node must be readable.

Definition at line 221 of file node.hpp.

References _C4RR.

◆ val_is_null()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val_is_null ( ) const
inline

Forward to Tree::val_is_null().

Node must be readable.

Definition at line 222 of file node.hpp.

References _C4RR.

◆ is_key_unfiltered()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_unfiltered ( ) const
inlinenoexcept

Forward to Tree::is_key_unfiltered().

Node must be readable.

Definition at line 224 of file node.hpp.

References _C4RR.

◆ is_val_unfiltered()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_unfiltered ( ) const
inlinenoexcept

Forward to Tree::is_val_unfiltered().

Node must be readable.

Definition at line 225 of file node.hpp.

References _C4RR.

◆ empty()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::empty ( ) const
inline

Forward to Tree::empty().

Node must be readable.

Definition at line 234 of file node.hpp.

References _C4RR.

◆ is_stream()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_stream ( ) const
inline

Forward to Tree::is_stream().

Node must be readable.

Definition at line 235 of file node.hpp.

References _C4RR.

◆ is_doc()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_doc ( ) const
inline

Forward to Tree::is_doc().

Node must be readable.

Definition at line 236 of file node.hpp.

References _C4RR.

◆ is_container()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_container ( ) const
inline

Forward to Tree::is_container().

Node must be readable.

Definition at line 237 of file node.hpp.

References _C4RR.

◆ is_map()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_map ( ) const
inline

Forward to Tree::is_map().

Node must be readable.

Definition at line 238 of file node.hpp.

References _C4RR.

◆ is_seq()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_seq ( ) const
inline

Forward to Tree::is_seq().

Node must be readable.

Definition at line 239 of file node.hpp.

References _C4RR.

◆ has_val()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_val ( ) const
inline

Forward to Tree::has_val().

Node must be readable.

Definition at line 240 of file node.hpp.

References _C4RR.

◆ has_key()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_key ( ) const
inline

Forward to Tree::has_key().

Node must be readable.

Definition at line 241 of file node.hpp.

References _C4RR.

◆ is_val()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val ( ) const
inline

Forward to Tree::is_val().

Node must be readable.

Definition at line 242 of file node.hpp.

References _C4RR.

◆ is_keyval()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_keyval ( ) const
inline

Forward to Tree::is_keyval().

Node must be readable.

Definition at line 243 of file node.hpp.

References _C4RR.

◆ has_key_tag()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_key_tag ( ) const
inline

Forward to Tree::has_key_tag().

Node must be readable.

Definition at line 244 of file node.hpp.

References _C4RR.

◆ has_val_tag()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_val_tag ( ) const
inline

Forward to Tree::has_val_tag().

Node must be readable.

Definition at line 245 of file node.hpp.

References _C4RR.

◆ has_key_anchor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_key_anchor ( ) const
inline

Forward to Tree::has_key_anchor().

Node must be readable.

Definition at line 246 of file node.hpp.

References _C4RR.

◆ has_val_anchor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_val_anchor ( ) const
inline

Forward to Tree::has_val_anchor().

Node must be readable.

Definition at line 247 of file node.hpp.

References _C4RR.

◆ has_anchor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_anchor ( ) const
inline

Forward to Tree::has_anchor().

Node must be readable.

Definition at line 248 of file node.hpp.

References _C4RR.

◆ is_key_ref()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_ref ( ) const
inline

Forward to Tree::is_key_ref().

Node must be readable.

Definition at line 249 of file node.hpp.

References _C4RR.

◆ is_val_ref()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_ref ( ) const
inline

Forward to Tree::is_val_ref().

Node must be readable.

Definition at line 250 of file node.hpp.

References _C4RR.

◆ is_ref()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_ref ( ) const
inline

Forward to Tree::is_ref().

Node must be readable.

Definition at line 251 of file node.hpp.

References _C4RR.

◆ parent_is_seq()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::parent_is_seq ( ) const
inline

Forward to Tree::parent_is_seq().

Node must be readable.

Definition at line 252 of file node.hpp.

References _C4RR.

◆ parent_is_map()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::parent_is_map ( ) const
inline

Forward to Tree::parent_is_map().

Node must be readable.

Definition at line 253 of file node.hpp.

References _C4RR.

◆ is_key_anchor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_anchor ( ) const
inlinenoexcept

Definition at line 255 of file node.hpp.

255 { _C4RR(); return tree_->has_key_anchor(id_); }
#define _C4RR()
Definition: node.hpp:1016

References _C4RR.

◆ is_val_hanchor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_hanchor ( ) const
inlinenoexcept

Definition at line 256 of file node.hpp.

256 { _C4RR(); return tree_->has_val_anchor(id_); }

References _C4RR.

◆ is_anchor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_anchor ( ) const
inlinenoexcept

Definition at line 257 of file node.hpp.

257 { _C4RR(); return tree_->has_anchor(id_); }

References _C4RR.

◆ is_anchor_or_ref()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_anchor_or_ref ( ) const
inlinenoexcept

Definition at line 258 of file node.hpp.

258 { _C4RR(); return tree_->is_anchor_or_ref(id_); }

References _C4RR.

◆ type_has_any()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::type_has_any ( NodeType_e  bits) const
inline

Forward to Tree::type_has_any().

Node must be readable.

Definition at line 269 of file node.hpp.

References _C4RR.

◆ type_has_all()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::type_has_all ( NodeType_e  bits) const
inline

Forward to Tree::type_has_all().

Node must be readable.

Definition at line 270 of file node.hpp.

References _C4RR.

◆ type_has_none()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::type_has_none ( NodeType_e  bits) const
inline

Forward to Tree::type_has_none().

Node must be readable.

Definition at line 271 of file node.hpp.

References _C4RR.

◆ key_style()

template<class Impl , class ConstImpl >
NodeType c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key_style ( ) const
inline

Forward to Tree::key_style().

Node must be readable.

Definition at line 273 of file node.hpp.

References _C4RR.

◆ val_style()

template<class Impl , class ConstImpl >
NodeType c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val_style ( ) const
inline

Forward to Tree::val_style().

Node must be readable.

Definition at line 274 of file node.hpp.

References _C4RR.

◆ is_container_styled()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_container_styled ( ) const
inline

Forward to Tree::is_container_styled().

Node must be readable.

Definition at line 276 of file node.hpp.

References _C4RR.

◆ is_block()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_block ( ) const
inline

Forward to Tree::is_block().

Node must be readable.

Definition at line 277 of file node.hpp.

References _C4RR.

◆ is_flow_sl()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_flow_sl ( ) const
inline

Forward to Tree::is_flow_sl().

Node must be readable.

Definition at line 278 of file node.hpp.

References _C4RR.

◆ is_flow_ml()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_flow_ml ( ) const
inline

Forward to Tree::is_flow_ml().

Node must be readable.

Definition at line 279 of file node.hpp.

References _C4RR.

◆ is_flow()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_flow ( ) const
inline

Forward to Tree::is_flow().

Node must be readable.

Definition at line 280 of file node.hpp.

References _C4RR.

◆ is_key_styled()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_styled ( ) const
inline

Forward to Tree::is_key_styled().

Node must be readable.

Definition at line 282 of file node.hpp.

References _C4RR.

◆ is_val_styled()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_styled ( ) const
inline

Forward to Tree::is_val_styled().

Node must be readable.

Definition at line 283 of file node.hpp.

References _C4RR.

◆ is_key_literal()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_literal ( ) const
inline

Forward to Tree::is_key_literal().

Node must be readable.

Definition at line 284 of file node.hpp.

References _C4RR.

◆ is_val_literal()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_literal ( ) const
inline

Forward to Tree::is_val_literal().

Node must be readable.

Definition at line 285 of file node.hpp.

References _C4RR.

◆ is_key_folded()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_folded ( ) const
inline

Forward to Tree::is_key_folded().

Node must be readable.

Definition at line 286 of file node.hpp.

References _C4RR.

◆ is_val_folded()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_folded ( ) const
inline

Forward to Tree::is_val_folded().

Node must be readable.

Definition at line 287 of file node.hpp.

References _C4RR.

◆ is_key_squo()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_squo ( ) const
inline

Forward to Tree::is_key_squo().

Node must be readable.

Definition at line 288 of file node.hpp.

References _C4RR.

◆ is_val_squo()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_squo ( ) const
inline

Forward to Tree::is_val_squo().

Node must be readable.

Definition at line 289 of file node.hpp.

References _C4RR.

◆ is_key_dquo()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_dquo ( ) const
inline

Forward to Tree::is_key_dquo().

Node must be readable.

Definition at line 290 of file node.hpp.

References _C4RR.

◆ is_val_dquo()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_dquo ( ) const
inline

Forward to Tree::is_val_dquo().

Node must be readable.

Definition at line 291 of file node.hpp.

References _C4RR.

◆ is_key_plain()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_plain ( ) const
inline

Forward to Tree::is_key_plain().

Node must be readable.

Definition at line 292 of file node.hpp.

References _C4RR.

◆ is_val_plain()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_plain ( ) const
inline

Forward to Tree::is_val_plain().

Node must be readable.

Definition at line 293 of file node.hpp.

References _C4RR.

◆ is_key_quoted()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_key_quoted ( ) const
inline

Forward to Tree::is_key_quoted().

Node must be readable.

Definition at line 294 of file node.hpp.

References _C4RR.

◆ is_val_quoted()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_val_quoted ( ) const
inline

Forward to Tree::is_val_quoted().

Node must be readable.

Definition at line 295 of file node.hpp.

References _C4RR.

◆ is_quoted()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_quoted ( ) const
inline

Forward to Tree::is_quoted().

Node must be readable.

Definition at line 296 of file node.hpp.

References _C4RR.

◆ is_root()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_root ( ) const
inline

Forward to Tree::is_root().

Node must be readable.

Definition at line 307 of file node.hpp.

References _C4RR.

◆ has_parent()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_parent ( ) const
inline

Forward to Tree::has_parent() Node must be readable.

Definition at line 308 of file node.hpp.

References _C4RR.

◆ is_ancestor()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::is_ancestor ( ConstImpl const &  ancestor) const
inline

Forward to Tree::is_ancestor() Node must be readable.

Definition at line 309 of file node.hpp.

References _C4RR.

◆ has_child() [1/3]

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_child ( ConstImpl const &  n) const
inline

Forward to Tree::has_child().

Node must be readable.

Definition at line 311 of file node.hpp.

References _C4RR.

◆ has_child() [2/3]

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_child ( id_type  node) const
inline

Forward to Tree::has_child().

Node must be readable.

Definition at line 312 of file node.hpp.

References _C4RR.

◆ has_child() [3/3]

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_child ( csubstr  name) const
inline

Forward to Tree::has_child().

Node must be readable.

Definition at line 313 of file node.hpp.

References _C4RR.

◆ has_children()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_children ( ) const
inline

Forward to Tree::has_children().

Node must be readable.

Definition at line 314 of file node.hpp.

References _C4RR.

◆ has_sibling() [1/3]

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_sibling ( ConstImpl const &  n) const
inline

Forward to Tree::has_sibling().

Node must be readable.

Definition at line 316 of file node.hpp.

References _C4RR.

◆ has_sibling() [2/3]

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_sibling ( id_type  node) const
inline

Forward to Tree::has_sibling().

Node must be readable.

Definition at line 317 of file node.hpp.

References _C4RR.

◆ has_sibling() [3/3]

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_sibling ( csubstr  name) const
inline

Forward to Tree::has_sibling().

Node must be readable.

Definition at line 318 of file node.hpp.

References _C4RR.

◆ has_other_siblings()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_other_siblings ( ) const
inline

Forward to Tree::has_other_siblings().

Node must be readable.

Definition at line 319 of file node.hpp.

References _C4RR.

◆ has_siblings()

template<class Impl , class ConstImpl >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::has_siblings ( ) const
inline

Definition at line 321 of file node.hpp.

321 { _C4RR(); return tree_->has_siblings(id_); }

References _C4RR.

◆ doc() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::doc ( id_type  i) -> Impl
inline

Forward to Tree::doc().

Node must be readable.

Definition at line 333 of file node.hpp.

◆ doc() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::doc ( id_type  i) const
inline

Forward to Tree::doc().

Node must be readable. succeeds even when the node may have invalid or seed id

Definition at line 334 of file node.hpp.

◆ parent() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::parent ( ) -> Impl
inline

Forward to Tree::parent().

Node must be readable.

Definition at line 337 of file node.hpp.

References _C4RR.

◆ parent() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::parent ( ) const
inline

Forward to Tree::parent().

Node must be readable.

Definition at line 338 of file node.hpp.

References _C4RR.

◆ first_child() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::first_child ( ) -> Impl
inline

Forward to Tree::first_child().

Node must be readable.

Definition at line 341 of file node.hpp.

References _C4RR.

◆ first_child() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::first_child ( ) const
inline

Forward to Tree::first_child().

Node must be readable.

Definition at line 342 of file node.hpp.

References _C4RR.

◆ last_child() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::last_child ( ) -> Impl
inline

Forward to Tree::last_child().

Node must be readable.

Definition at line 345 of file node.hpp.

References _C4RR.

◆ last_child() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::last_child ( ) const
inline

Forward to Tree::last_child().

Node must be readable.

Definition at line 346 of file node.hpp.

References _C4RR.

◆ child() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::child ( id_type  pos) -> Impl
inline

Forward to Tree::child().

Node must be readable.

Definition at line 349 of file node.hpp.

References _C4RR.

◆ child() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::child ( id_type  pos) const
inline

Forward to Tree::child().

Node must be readable.

Definition at line 350 of file node.hpp.

References _C4RR.

◆ find_child() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::find_child ( csubstr  name) -> Impl
inline

Forward to Tree::find_child().

Node must be readable.

Definition at line 353 of file node.hpp.

References _C4RR.

◆ find_child() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::find_child ( csubstr  name) const
inline

Forward to Tree::find_child().

Node must be readable.

Definition at line 354 of file node.hpp.

References _C4RR.

◆ prev_sibling() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::prev_sibling ( ) -> Impl
inline

Forward to Tree::prev_sibling().

Node must be readable.

Definition at line 357 of file node.hpp.

References _C4RR.

◆ prev_sibling() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::prev_sibling ( ) const
inline

Forward to Tree::prev_sibling().

Node must be readable.

Definition at line 358 of file node.hpp.

References _C4RR.

◆ next_sibling() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::next_sibling ( ) -> Impl
inline

Forward to Tree::next_sibling().

Node must be readable.

Definition at line 361 of file node.hpp.

References _C4RR.

◆ next_sibling() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::next_sibling ( ) const
inline

Forward to Tree::next_sibling().

Node must be readable.

Definition at line 362 of file node.hpp.

References _C4RR.

◆ first_sibling() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::first_sibling ( ) -> Impl
inline

Forward to Tree::first_sibling().

Node must be readable.

Definition at line 365 of file node.hpp.

References _C4RR.

◆ first_sibling() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::first_sibling ( ) const
inline

Forward to Tree::first_sibling().

Node must be readable.

Definition at line 366 of file node.hpp.

References _C4RR.

◆ last_sibling() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::last_sibling ( ) -> Impl
inline

Forward to Tree::last_sibling().

Node must be readable.

Definition at line 369 of file node.hpp.

References _C4RR.

◆ last_sibling() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::last_sibling ( ) const
inline

Forward to Tree::last_sibling().

Node must be readable.

Definition at line 370 of file node.hpp.

References _C4RR.

◆ sibling() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::sibling ( id_type  pos) -> Impl
inline

Forward to Tree::sibling().

Node must be readable.

Definition at line 373 of file node.hpp.

References _C4RR.

◆ sibling() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::sibling ( id_type  pos) const
inline

Forward to Tree::sibling().

Node must be readable.

Definition at line 374 of file node.hpp.

References _C4RR.

◆ find_sibling() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::find_sibling ( csubstr  name) -> Impl
inline

Forward to Tree::find_sibling().

Node must be readable.

Definition at line 377 of file node.hpp.

References _C4RR.

◆ find_sibling() [2/2]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::find_sibling ( csubstr  name) const
inline

Forward to Tree::find_sibling().

Node must be readable.

Definition at line 378 of file node.hpp.

References _C4RR.

◆ num_children()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::num_children ( ) const
inline

O(num_children).

Forward to Tree::num_children().

Definition at line 380 of file node.hpp.

References _C4RR.

◆ num_siblings()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::num_siblings ( ) const
inline

O(num_children).

Forward to Tree::num_siblings().

Definition at line 381 of file node.hpp.

References _C4RR.

◆ num_other_siblings()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::num_other_siblings ( ) const
inline

O(num_siblings).

Forward to Tree::num_other_siblings().

Definition at line 382 of file node.hpp.

References _C4RR.

◆ child_pos()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::child_pos ( ConstImpl const &  n) const
inline

O(num_children).

Forward to Tree::child_pos().

Definition at line 383 of file node.hpp.

References _C4RR.

◆ sibling_pos()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::sibling_pos ( ConstImpl const &  n) const
inline

O(num_siblings).

Forward to Tree::sibling_pos().

Definition at line 384 of file node.hpp.

References _C4RR.

◆ depth_asc()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::depth_asc ( ) const
inline

Definition at line 386 of file node.hpp.

386 { _C4RR(); return tree_->depth_asc(id_); } /** O(log(num_nodes)). Forward to Tree::depth_asc(). Node must be readable. */

References _C4RR.

◆ depth_desc()

template<class Impl , class ConstImpl >
id_type c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::depth_desc ( ) const
inline

O(log(num_nodes)).

Forward to Tree::depth_asc(). Node must be readable.

Definition at line 387 of file node.hpp.

387 { _C4RR(); return tree_->depth_desc(id_); } /** O(num_nodes). Forward to Tree::depth_desc(). Node must be readable. */

References _C4RR.

◆ operator[]() [1/4]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator[] ( csubstr  key) -> Impl
inline

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.

Warning
the calling object must be readable. This precondition is asserted. The assertion is performed only if RYML_USE_ASSERT is set to true. As with the non-const overload, it is UB to call this method if the node is not readable.
See also
https://github.com/biojppm/rapidyaml/issues/389

Definition at line 416 of file node.hpp.

417  {
418  _C4RR();
419  id_type ch = tree__->find_child(id__, key);
420  return ch != NONE ? Impl(tree__, ch) : Impl(tree__, id__, key);
421  }
RYML_ID_TYPE id_type
The type of a node id in the YAML tree; to override the default type, define the macro RYML_ID_TYPE t...
Definition: common.hpp:244
@ NONE
an index to none
Definition: common.hpp:251
csubstr key() const RYML_NOEXCEPT
Forward to Tree::key().
Definition: node.hpp:208

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key(), and c4::yml::NONE.

◆ operator[]() [2/4]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator[] ( id_type  pos) -> Impl
inline

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.

Warning
the calling object must be readable. This precondition is asserted. The assertion is performed only if RYML_USE_ASSERT is set to true. As with the non-const overload, it is UB to call this method if the node is not readable.
See also
https://github.com/biojppm/rapidyaml/issues/389

Definition at line 442 of file node.hpp.

443  {
444  _C4RR();
445  id_type ch = tree__->child(id__, pos);
446  return ch != NONE ? Impl(tree__, ch) : Impl(tree__, id__, pos);
447  }

References _C4RR, and c4::yml::NONE.

◆ operator[]() [3/4]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator[] ( csubstr  key) const
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.

See also
https://github.com/biojppm/rapidyaml/issues/389

Definition at line 458 of file node.hpp.

459  {
460  _C4RR();
461  id_type ch = tree_->find_child(id_, key);
462  _RYML_ASSERT_VISIT_(tree_->m_callbacks, ch != NONE, tree_, id_);
463  return {tree_, ch};
464  }

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key(), and c4::yml::NONE.

◆ operator[]() [4/4]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator[] ( id_type  pos) const
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.

See also
https://github.com/biojppm/rapidyaml/issues/389

Definition at line 475 of file node.hpp.

476  {
477  _C4RR();
478  id_type ch = tree_->child(id_, pos);
479  _RYML_ASSERT_VISIT_(tree_->m_callbacks, ch != NONE, tree_, id_);
480  return {tree_, ch};
481  }

References _C4RR, and c4::yml::NONE.

◆ at() [1/4]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::at ( csubstr  key) -> Impl
inline

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.

Warning
This method will call the error callback (regardless of build type or of the value of RYML_USE_ASSERT) whenever any of the following preconditions is violated: a) the object is valid (points at a tree and a node), b) the calling object must be readable (must not be in seed state), c) the calling object must be pointing at a MAP node. The preconditions are similar to the non-const operator[](csubstr), but instead of using assertions, this function directly checks those conditions and calls the error callback if any of the checks fail.
Note
since it is valid behavior for the returned node to be in seed state, the error callback is not invoked when this happens.

Definition at line 523 of file node.hpp.

524  {
525  _RYML_CHECK_BASIC(tree_ != nullptr);
526  _RYML_CHECK_VISIT_(tree_->m_callbacks, (id_ >= 0 && id_ < tree_->capacity()), tree_, id_);
527  _RYML_CHECK_VISIT_(tree_->m_callbacks, ((Impl const*)this)->readable(), tree_, id_);
528  _RYML_CHECK_VISIT_(tree_->m_callbacks, tree_->is_map(id_), tree_, id_);
529  id_type ch = tree__->find_child(id__, key);
530  return ch != NONE ? Impl(tree__, ch) : Impl(tree__, id__, key);
531  }

References c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key(), and c4::yml::NONE.

◆ at() [2/4]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::at ( id_type  pos) -> Impl
inline

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.

Warning
This method will call the error callback (regardless of build type or of the value of RYML_USE_ASSERT) whenever any of the following preconditions is violated: a) the object is valid (points at a tree and a node), b) the calling object must be readable (must not be in seed state), c) the calling object must be pointing at a MAP node. The preconditions are similar to the non-const operator[](id_type), but instead of using assertions, this function directly checks those conditions and calls the error callback if any of the checks fail.
Note
since it is valid behavior for the returned node to be in seed state, the error callback is not invoked when this happens.

Definition at line 559 of file node.hpp.

560  {
561  _RYML_CHECK_BASIC(tree_ != nullptr);
562  const id_type cap = tree_->capacity();
563  _RYML_CHECK_VISIT_(tree_->m_callbacks, (id_ >= 0 && id_ < cap), tree_, id_);
564  _RYML_CHECK_VISIT_(tree_->m_callbacks, (pos >= 0 && pos < cap), tree_, id_);
565  _RYML_CHECK_VISIT_(tree_->m_callbacks, ((Impl const*)this)->readable(), tree_, id_);
566  _RYML_CHECK_VISIT_(tree_->m_callbacks, tree_->is_container(id_), tree_, id_);
567  id_type ch = tree__->child(id__, pos);
568  return ch != NONE ? Impl(tree__, ch) : Impl(tree__, id__, pos);
569  }

References c4::yml::NONE.

◆ at() [3/4]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::at ( csubstr  key) const
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 580 of file node.hpp.

581  {
582  _RYML_CHECK_BASIC(tree_ != nullptr);
583  _RYML_CHECK_VISIT_(tree_->m_callbacks, (id_ >= 0 && id_ < tree_->capacity()), tree_, id_);
584  _RYML_CHECK_VISIT_(tree_->m_callbacks, ((Impl const*)this)->readable(), tree_, id_);
585  _RYML_CHECK_VISIT_(tree_->m_callbacks, tree_->is_map(id_), tree_, id_);
586  id_type ch = tree_->find_child(id_, key);
587  _RYML_CHECK_VISIT_(tree_->m_callbacks, ch != NONE, tree_, id_);
588  return {tree_, ch};
589  }

References c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key(), and c4::yml::NONE.

◆ at() [4/4]

template<class Impl , class ConstImpl >
ConstImpl c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::at ( id_type  pos) const
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 600 of file node.hpp.

601  {
602  _RYML_CHECK_BASIC(tree_ != nullptr);
603  const id_type cap = tree_->capacity();
604  _RYML_CHECK_VISIT_(tree_->m_callbacks, (id_ >= 0 && id_ < cap), tree_, id_);
605  _RYML_CHECK_VISIT_(tree_->m_callbacks, (pos >= 0 && pos < cap), tree_, id_);
606  _RYML_CHECK_VISIT_(tree_->m_callbacks, ((Impl const*)this)->readable(), tree_, id_);
607  _RYML_CHECK_VISIT_(tree_->m_callbacks, tree_->is_container(id_), tree_, id_);
608  const id_type ch = tree_->child(id_, pos);
609  _RYML_CHECK_VISIT_(tree_->m_callbacks, ch != NONE, tree_, id_);
610  return {tree_, ch};
611  }

References c4::yml::NONE.

◆ location()

template<class Impl , class ConstImpl >
Location c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::location ( Parser const &  parser) const
inline

Definition at line 620 of file node.hpp.

621  {
622  _C4RR();
623  return tree_->location(parser, id_);
624  }

References _C4RR.

◆ operator>>() [1/4]

template<class Impl , class ConstImpl >
template<class T >
ConstImpl const& c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator>> ( T &  v) const
inline

deserialize the node's val to the given variable, forwarding to the user-overrideable read() function.

Definition at line 636 of file node.hpp.

637  {
638  _C4RR();
639  if( ! read((ConstImpl const&)*this, &v))
640  _RYML_ERR_VISIT_(tree_->m_callbacks, tree_, id_, "could not deserialize value");
641  return *((ConstImpl const*)this);
642  }
bool read(ConstNodeRef const &n, T *v)
Definition: node.hpp:1632

References _C4RR, and c4::yml::read().

◆ operator>>() [2/4]

template<class Impl , class ConstImpl >
template<class T >
ConstImpl const& c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator>> ( Key< T >  v) const
inline

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)

Definition at line 648 of file node.hpp.

649  {
650  _C4RR();
651  if( ! readkey((ConstImpl const&)*this, &v.k))
652  _RYML_ERR_VISIT_(tree_->m_callbacks, tree_, id_, "could not deserialize key");
653  return *((ConstImpl const*)this);
654  }
bool readkey(ConstNodeRef const &n, T *v)
Definition: node.hpp:1644

References _C4RR, c4::yml::Key< K >::k, and c4::yml::readkey().

◆ get_if() [1/2]

template<class Impl , class ConstImpl >
template<class T >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::get_if ( csubstr  name,
T *  var 
) const
inline

look for a child by name, if it exists assign to var.

return true if the child existed.

Definition at line 659 of file node.hpp.

660  {
661  _C4RR();
662  ConstImpl ch = find_child(name);
663  if(!ch.readable())
664  return false;
665  ch >> *var;
666  return true;
667  }
auto find_child(csubstr name) RYML_NOEXCEPT -> Impl
Forward to Tree::find_child().
Definition: node.hpp:353

References _C4RR, and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::find_child().

◆ get_if() [2/2]

template<class Impl , class ConstImpl >
template<class T >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::get_if ( csubstr  name,
T *  var,
T const &  fallback 
) const
inline

look for a child by name, if it exists assign to var, otherwise default to fallback.

return true if the child existed.

Definition at line 673 of file node.hpp.

674  {
675  _C4RR();
676  ConstImpl ch = find_child(name);
677  if(ch.readable())
678  {
679  ch >> *var;
680  return true;
681  }
682  else
683  {
684  *var = fallback;
685  return false;
686  }
687  }

References _C4RR, and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::find_child().

◆ operator>>() [3/4]

template<class Impl , class ConstImpl >
ConstImpl const& c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator>> ( Key< fmt::base64_wrapper w) const
inline

deserialize the node's key as base64.

lightweight wrapper over deserialize_key()

Definition at line 693 of file node.hpp.

694  {
695  deserialize_key(w.wrapper);
696  return *((ConstImpl const*)this);
697  }
size_t deserialize_key(fmt::base64_wrapper v) const
decode the base64-encoded key and assign the decoded blob to the given buffer/
Definition: node.hpp:709

References c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::deserialize_key(), and c4::yml::Key< fmt::base64_wrapper >::wrapper.

◆ operator>>() [4/4]

template<class Impl , class ConstImpl >
ConstImpl const& c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::operator>> ( fmt::base64_wrapper  w) const
inline

deserialize the node's val as base64.

lightweight wrapper over deserialize_val()

Definition at line 700 of file node.hpp.

701  {
702  deserialize_val(w);
703  return *((ConstImpl const*)this);
704  }
size_t deserialize_val(fmt::base64_wrapper v) const
decode the base64-encoded key and assign the decoded blob to the given buffer/
Definition: node.hpp:717

References c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::deserialize_val().

◆ deserialize_key()

template<class Impl , class ConstImpl >
size_t c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::deserialize_key ( fmt::base64_wrapper  v) const
inline

decode the base64-encoded key and assign the decoded blob to the given buffer/

Returns
the size of base64-decoded blob

Definition at line 709 of file node.hpp.

710  {
711  _C4RR();
712  return from_chars(key(), &v);
713  }
bool from_chars(csubstr buf, uint8_t *v) noexcept
Definition: charconv.hpp:2366

References _C4RR, c4::from_chars(), and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::key().

◆ deserialize_val()

template<class Impl , class ConstImpl >
size_t c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::deserialize_val ( fmt::base64_wrapper  v) const
inline

decode the base64-encoded key and assign the decoded blob to the given buffer/

Returns
the size of base64-decoded blob

Definition at line 717 of file node.hpp.

718  {
719  _C4RR();
720  return from_chars(val(), &v);
721  };
csubstr val() const RYML_NOEXCEPT
Forward to Tree::val().
Definition: node.hpp:213

References _C4RR, c4::from_chars(), and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::val().

◆ begin() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::begin ( ) -> iterator
inline

get a mutable iterator to the first child.

NOT AVAILABLE for ConstNodeRef.

Definition at line 748 of file node.hpp.

References _C4RR.

◆ begin() [2/2]

template<class Impl , class ConstImpl >
const_iterator c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::begin ( ) const
inline

get an iterator to the first child

Definition at line 749 of file node.hpp.

References _C4RR.

◆ cbegin()

template<class Impl , class ConstImpl >
const_iterator c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::cbegin ( ) const
inline

get an iterator to the first child

Definition at line 750 of file node.hpp.

References _C4RR.

◆ end() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end ( ) -> iterator
inline

get an iterator to after the last child.

NOT AVAILABLE for ConstNodeRef.

Definition at line 753 of file node.hpp.

References _C4RR, and c4::yml::NONE.

◆ end() [2/2]

template<class Impl , class ConstImpl >
const_iterator c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end ( ) const
inline

get an iterator to after the last child

get an iterator to after the last child

Definition at line 755 of file node.hpp.

References _C4RR, and c4::yml::NONE.

◆ cend()

template<class Impl , class ConstImpl >
const_iterator c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::cend ( ) const
inline

get an iterator to after the last child

get an iterator to after the last child

Definition at line 757 of file node.hpp.

References _C4RR, and c4::yml::NONE.

◆ children() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::children ( ) -> children_view
inline

get an iterable view over children.

NOT AVAILABLE for ConstNodeRef.

Definition at line 760 of file node.hpp.

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::begin(), and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end().

◆ children() [2/2]

template<class Impl , class ConstImpl >
const_children_view c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::children ( ) const
inline

get an iterable view over children

Definition at line 761 of file node.hpp.

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::begin(), and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end().

◆ cchildren()

template<class Impl , class ConstImpl >
const_children_view c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::cchildren ( ) const
inline

get an iterable view over children

Definition at line 762 of file node.hpp.

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::begin(), and c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end().

◆ siblings() [1/2]

template<class Impl , class ConstImpl >
template<class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::siblings ( ) -> children_view
inline

get an iterable view over all siblings (including the calling node)

Definition at line 766 of file node.hpp.

767  {
768  _C4RR();
769  NodeData const *nd = tree__->get(id__);
770  return (nd->m_parent != NONE) ? // does it have a parent?
771  children_view(iterator(tree__, tree_->get(nd->m_parent)->m_first_child), iterator(tree__, NONE))
772  :
773  children_view(end(), end());
774  }
detail::child_iterator< Impl > iterator
Definition: node.hpp:742
auto end() RYML_NOEXCEPT -> iterator
get an iterator to after the last child.
Definition: node.hpp:753
detail::children_view_< Impl > children_view
Definition: node.hpp:744

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end(), c4::yml::NodeData::m_parent, and c4::yml::NONE.

◆ siblings() [2/2]

template<class Impl , class ConstImpl >
const_children_view c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::siblings ( ) const
inline

get an iterable view over all siblings (including the calling node)

Definition at line 776 of file node.hpp.

777  {
778  _C4RR();
779  NodeData const *nd = tree_->get(id_);
780  return (nd->m_parent != NONE) ? // does it have a parent?
781  const_children_view(const_iterator(tree_, tree_->get(nd->m_parent)->m_first_child), const_iterator(tree_, NONE))
782  :
784  }
detail::children_view_< ConstImpl > const_children_view
Definition: node.hpp:745
detail::child_iterator< ConstImpl > const_iterator
Definition: node.hpp:743

References _C4RR, c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::end(), c4::yml::NodeData::m_parent, and c4::yml::NONE.

◆ csiblings()

template<class Impl , class ConstImpl >
const_children_view c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::csiblings ( ) const
inline

get an iterable view over all siblings (including the calling node)

Definition at line 786 of file node.hpp.

786 { return siblings(); }
auto siblings() RYML_NOEXCEPT -> children_view
get an iterable view over all siblings (including the calling node)
Definition: node.hpp:766

References c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::siblings().

◆ visit() [1/2]

template<class Impl , class ConstImpl >
template<class Visitor >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::visit ( Visitor  fn,
id_type  indentation_level = 0,
bool  skip_root = true 
) const
inline

visit every child node calling fn(node)

Definition at line 790 of file node.hpp.

791  {
792  _C4RR();
793  return detail::_visit(*(ConstImpl const*)this, fn, indentation_level, skip_root);
794  }

References _C4RR.

◆ visit() [2/2]

template<class Impl , class ConstImpl >
template<class Visitor , class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::visit ( Visitor  fn,
id_type  indentation_level = 0,
bool  skip_root = true 
) -> bool
inline

visit every child node calling fn(node)

Definition at line 797 of file node.hpp.

799  {
800  _C4RR();
801  return detail::_visit(*(Impl*)this, fn, indentation_level, skip_root);
802  }

References _C4RR.

◆ visit_stacked() [1/2]

template<class Impl , class ConstImpl >
template<class Visitor >
bool c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::visit_stacked ( Visitor  fn,
id_type  indentation_level = 0,
bool  skip_root = true 
) const
inline

visit every child node calling fn(node, level)

Definition at line 806 of file node.hpp.

807  {
808  _C4RR();
809  return detail::_visit_stacked(*(ConstImpl const*)this, fn, indentation_level, skip_root);
810  }

References _C4RR.

◆ visit_stacked() [2/2]

template<class Impl , class ConstImpl >
template<class Visitor , class U = Impl>
auto c4::yml::detail::RoNodeMethods< Impl, ConstImpl >::visit_stacked ( Visitor  fn,
id_type  indentation_level = 0,
bool  skip_root = true 
) -> bool
inline

visit every child node calling fn(node, level)

Definition at line 813 of file node.hpp.

815  {
816  _C4RR();
817  return detail::_visit_stacked(*(Impl*)this, fn, indentation_level, skip_root);
818  }

References _C4RR.


The documentation for this struct was generated from the following file: