rapidyaml 0.14.0
parse and emit YAML, and do it fast
Loading...
Searching...
No Matches
c4::yml::ConstNodeRef Class Reference

Holds a pointer to an existing tree, and a node id. More...

#include <node.hpp>

Public Types

using tree_type = Tree const

Public Member Functions

construction
 ConstNodeRef () noexcept
 ConstNodeRef (Tree const &t) noexcept
 ConstNodeRef (Tree const *t) noexcept
 ConstNodeRef (Tree const *t, id_type id) noexcept
 ConstNodeRef (std::nullptr_t) noexcept
 ConstNodeRef (ConstNodeRef const &) noexcept=default
 ConstNodeRef (ConstNodeRef &&) noexcept=default
 ConstNodeRef (NodeRef const &) noexcept
 ConstNodeRef (NodeRef &&) noexcept
assignment
ConstNodeRefoperator= (std::nullptr_t) noexcept
ConstNodeRefoperator= (ConstNodeRef const &) noexcept=default
ConstNodeRefoperator= (ConstNodeRef &&) noexcept=default
ConstNodeRefoperator= (NodeRef const &) noexcept
ConstNodeRefoperator= (NodeRef &&) noexcept
member getters
Tree const * tree () const noexcept
id_type id () const noexcept
comparisons
bool operator== (ConstNodeRef const &that) const RYML_NOEXCEPT
bool operator!= (ConstNodeRef const &that) const RYML_NOEXCEPT
node property getters
NodeData const * get () const RYML_NOEXCEPT
 returns the data or null when the id is NONE
NodeType type () const RYML_NOEXCEPT
 Forward to Tree::type().
const char * type_str () const RYML_NOEXCEPT
 Forward to Tree::type_str().
csubstr key () const RYML_NOEXCEPT
 Forward to Tree::key().
csubstr key_tag () const RYML_NOEXCEPT
 Forward to Tree::key_tag().
csubstr key_ref () const RYML_NOEXCEPT
 Forward to Tree::key_ref().
csubstr key_anchor () const RYML_NOEXCEPT
 Forward to Tree::key_anchor().
csubstr val () const RYML_NOEXCEPT
 Forward to Tree::val().
csubstr val_tag () const RYML_NOEXCEPT
 Forward to Tree::val_tag().
csubstr val_ref () const RYML_NOEXCEPT
 Forward to Tree::val_ref().
csubstr val_anchor () const RYML_NOEXCEPT
 Forward to Tree::val_anchor().
NodeScalar const & keysc () const RYML_NOEXCEPT
 Forward to Tree::keysc().
NodeScalar const & valsc () const RYML_NOEXCEPT
 Forward to Tree::valsc().
bool key_is_null () const RYML_NOEXCEPT
 Forward to Tree::key_is_null().
bool val_is_null () const RYML_NOEXCEPT
 Forward to Tree::val_is_null().
bool is_key_unfiltered () const noexcept
 Forward to Tree::is_key_unfiltered().
bool is_val_unfiltered () const noexcept
 Forward to Tree::is_val_unfiltered().
node type predicates
bool empty () const RYML_NOEXCEPT
 Forward to Tree::empty().
bool is_stream () const RYML_NOEXCEPT
 Forward to Tree::is_stream().
bool is_doc () const RYML_NOEXCEPT
 Forward to Tree::is_doc().
bool is_container () const RYML_NOEXCEPT
 Forward to Tree::is_container().
bool is_map () const RYML_NOEXCEPT
 Forward to Tree::is_map().
bool is_seq () const RYML_NOEXCEPT
 Forward to Tree::is_seq().
bool has_val () const RYML_NOEXCEPT
 Forward to Tree::has_val().
bool has_key () const RYML_NOEXCEPT
 Forward to Tree::has_key().
bool is_val () const RYML_NOEXCEPT
 Forward to Tree::is_val().
bool is_keyval () const RYML_NOEXCEPT
 Forward to Tree::is_keyval().
bool has_key_tag () const RYML_NOEXCEPT
 Forward to Tree::has_key_tag().
bool has_val_tag () const RYML_NOEXCEPT
 Forward to Tree::has_val_tag().
bool has_key_anchor () const RYML_NOEXCEPT
 Forward to Tree::has_key_anchor().
bool has_val_anchor () const RYML_NOEXCEPT
 Forward to Tree::has_val_anchor().
bool has_anchor () const RYML_NOEXCEPT
 Forward to Tree::has_anchor().
bool is_key_ref () const RYML_NOEXCEPT
 Forward to Tree::is_key_ref().
bool is_val_ref () const RYML_NOEXCEPT
 Forward to Tree::is_val_ref().
bool is_ref () const RYML_NOEXCEPT
 Forward to Tree::is_ref().
bool parent_is_seq () const RYML_NOEXCEPT
 Forward to Tree::parent_is_seq().
bool parent_is_map () const RYML_NOEXCEPT
 Forward to Tree::parent_is_map().
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().
bool type_has_all (NodeType_e bits) const RYML_NOEXCEPT
 Forward to Tree::type_has_all().
bool type_has_none (NodeType_e bits) const RYML_NOEXCEPT
 Forward to Tree::type_has_none().
NodeType key_style () const RYML_NOEXCEPT
 Forward to Tree::key_style().
NodeType val_style () const RYML_NOEXCEPT
 Forward to Tree::val_style().
bool is_container_styled () const RYML_NOEXCEPT
 Forward to Tree::is_container_styled().
bool is_block () const RYML_NOEXCEPT
 Forward to Tree::is_block().
bool is_flow_sl () const RYML_NOEXCEPT
 Forward to Tree::is_flow_sl().
bool is_flow_ml () const RYML_NOEXCEPT
 Forward to Tree::is_flow_ml().
bool is_flow () const RYML_NOEXCEPT
 Forward to Tree::is_flow().
bool is_key_styled () const RYML_NOEXCEPT
 Forward to Tree::is_key_styled().
bool is_val_styled () const RYML_NOEXCEPT
 Forward to Tree::is_val_styled().
bool is_key_literal () const RYML_NOEXCEPT
 Forward to Tree::is_key_literal().
bool is_val_literal () const RYML_NOEXCEPT
 Forward to Tree::is_val_literal().
bool is_key_folded () const RYML_NOEXCEPT
 Forward to Tree::is_key_folded().
bool is_val_folded () const RYML_NOEXCEPT
 Forward to Tree::is_val_folded().
bool is_key_squo () const RYML_NOEXCEPT
 Forward to Tree::is_key_squo().
bool is_val_squo () const RYML_NOEXCEPT
 Forward to Tree::is_val_squo().
bool is_key_dquo () const RYML_NOEXCEPT
 Forward to Tree::is_key_dquo().
bool is_val_dquo () const RYML_NOEXCEPT
 Forward to Tree::is_val_dquo().
bool is_key_plain () const RYML_NOEXCEPT
 Forward to Tree::is_key_plain().
bool is_val_plain () const RYML_NOEXCEPT
 Forward to Tree::is_val_plain().
bool is_key_quoted () const RYML_NOEXCEPT
 Forward to Tree::is_key_quoted().
bool is_val_quoted () const RYML_NOEXCEPT
 Forward to Tree::is_val_quoted().
bool is_quoted () const RYML_NOEXCEPT
 Forward to Tree::is_quoted().
hierarchy predicates
bool is_root () const RYML_NOEXCEPT
 Forward to Tree::is_root().
bool has_parent () const RYML_NOEXCEPT
 Forward to Tree::has_parent() Node must be readable.
bool is_ancestor (ConstNodeRef const &ancestor) const RYML_NOEXCEPT
 Forward to Tree::is_ancestor() Node must be readable.
bool has_child (ConstNodeRef const &n) const RYML_NOEXCEPT
 Forward to Tree::has_child().
bool has_children () const RYML_NOEXCEPT
 Forward to Tree::has_children().
bool has_sibling (ConstNodeRef const &n) const RYML_NOEXCEPT
 Forward to Tree::has_sibling().
bool has_other_siblings () const RYML_NOEXCEPT
 Forward to Tree::has_other_siblings().
bool has_siblings () const RYML_NOEXCEPT
hierarchy getters
auto doc (id_type i) RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::doc().
auto parent () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::parent().
auto first_child () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::first_child().
auto last_child () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::last_child().
auto child (id_type pos) RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::child().
auto find_child (csubstr name) RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::find_child().
auto prev_sibling () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::prev_sibling().
auto next_sibling () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::next_sibling().
auto first_sibling () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::first_sibling().
auto last_sibling () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::last_sibling().
auto sibling (id_type pos) RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::sibling().
auto find_sibling (csubstr name) RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::find_sibling().
auto ancestor_doc () RYML_NOEXCEPT -> ConstNodeRef
 Forward to Tree::ancestor_doc().
id_type num_children () const RYML_NOEXCEPT
 O(num_children).
id_type num_siblings () const RYML_NOEXCEPT
 O(num_children).
id_type num_other_siblings () const RYML_NOEXCEPT
 O(num_siblings).
id_type child_pos (ConstNodeRef const &n) const RYML_NOEXCEPT
 O(num_children).
id_type sibling_pos (ConstNodeRef const &n) const RYML_NOEXCEPT
 O(num_siblings).
id_type depth_asc () const RYML_NOEXCEPT
id_type depth_desc () const RYML_NOEXCEPT
 O(log(num_nodes)).
square_brackets

O(num_nodes).

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

operator[]

auto operator[] (csubstr key) RYML_NOEXCEPT -> ConstNodeRef
 Find child by key; complexity is O(num_children).
at

These functions are the analogue to operator[], with the difference that they emit an error instead of an assertion.

That is, if any of the pre or post conditions is violated, an error is always emitted (resulting in a call to the error callback).

auto at (csubstr key) -> ConstNodeRef
 Find child by key; complexity is O(num_children).
locations
Location location (Parser const &parser) const
deserialization
ConstNodeRef const & operator>> (T &v) const
 deserialize the node's val to the given variable, forwarding to the user-overrideable read() function.
bool get_if (csubstr name, T *var) const
 look for a child by name, if it exists assign to var.

Public Attributes

Tree const * m_tree
id_type m_id
friend NodeRef

Friends

struct detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >

iteration

using iterator
using const_iterator
using children_view
using const_children_view
auto begin () RYML_NOEXCEPT -> iterator
 get a mutable iterator to the first child.
const_iterator cbegin () const RYML_NOEXCEPT
 get an iterator to the first child
auto end () RYML_NOEXCEPT -> iterator
 get an iterator to after the last child.
const_iterator cend () const RYML_NOEXCEPT
 get an iterator to after the last child
auto children () RYML_NOEXCEPT -> children_view
 get an iterable view over children.
const_children_view cchildren () const RYML_NOEXCEPT
 get an iterable view over children
auto siblings () RYML_NOEXCEPT -> children_view
 get an iterable view over all siblings (including the calling node)
const_children_view csiblings () const RYML_NOEXCEPT
 get an iterable view over all siblings (including the calling node)
bool visit (Visitor fn, id_type indentation_level=0, bool skip_root=true) const RYML_NOEXCEPT
 visit every child node calling fn(node)
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)

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()
bool valid () const noexcept
static constexpr bool is_seed () noexcept
 because a ConstNodeRef cannot be used to write to the tree, it can never be a seed.

Detailed Description

Holds a pointer to an existing tree, and a node id.

It can be used only to read from the tree.

Warning
The lifetime of the tree must be larger than that of this object. It is up to the user to ensure that this happens.

Definition at line 826 of file node.hpp.

Member Typedef Documentation

◆ tree_type

Definition at line 830 of file node.hpp.

◆ iterator

Definition at line 720 of file node.hpp.

◆ const_iterator

using c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::const_iterator
inherited

Definition at line 721 of file node.hpp.

◆ children_view

using c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::children_view
inherited

Definition at line 722 of file node.hpp.

◆ const_children_view

using c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::const_children_view
inherited

Definition at line 723 of file node.hpp.

Constructor & Destructor Documentation

◆ ConstNodeRef() [1/7]

c4::yml::ConstNodeRef::ConstNodeRef ( )
inlinenoexcept

Definition at line 845 of file node.hpp.

845: m_tree(nullptr), m_id(NONE) {}
Tree const * m_tree
Definition node.hpp:834
@ NONE
an index to none
Definition common.hpp:256

◆ ConstNodeRef() [2/7]

c4::yml::ConstNodeRef::ConstNodeRef ( Tree const & t)
inlinenoexcept

Definition at line 846 of file node.hpp.

846: m_tree(&t), m_id(t .root_id()) {}

◆ ConstNodeRef() [3/7]

c4::yml::ConstNodeRef::ConstNodeRef ( Tree const * t)
inlinenoexcept

Definition at line 847 of file node.hpp.

847: m_tree(t ), m_id(t->root_id()) {}

◆ ConstNodeRef() [4/7]

c4::yml::ConstNodeRef::ConstNodeRef ( Tree const * t,
id_type id )
inlinenoexcept

Definition at line 848 of file node.hpp.

848: m_tree(t), m_id(id) {}

◆ ConstNodeRef() [5/7]

c4::yml::ConstNodeRef::ConstNodeRef ( std::nullptr_t )
inlinenoexcept

Definition at line 849 of file node.hpp.

849: m_tree(nullptr), m_id(NONE) {}

◆ ConstNodeRef() [6/7]

c4::yml::ConstNodeRef::ConstNodeRef ( ConstNodeRef const & )
defaultnoexcept

◆ ConstNodeRef() [7/7]

c4::yml::ConstNodeRef::ConstNodeRef ( ConstNodeRef && )
defaultnoexcept

Member Function Documentation

◆ operator=() [1/3]

ConstNodeRef & c4::yml::ConstNodeRef::operator= ( std::nullptr_t )
inlinenoexcept

Definition at line 864 of file node.hpp.

864{ m_tree = nullptr; m_id = NONE; return *this; }

◆ operator=() [2/3]

ConstNodeRef & c4::yml::ConstNodeRef::operator= ( ConstNodeRef const & )
defaultnoexcept

◆ operator=() [3/3]

ConstNodeRef & c4::yml::ConstNodeRef::operator= ( ConstNodeRef && )
defaultnoexcept

◆ invalid()

bool c4::yml::ConstNodeRef::invalid ( ) const
inlinenoexcept

Definition at line 881 of file node.hpp.

881{ return (!m_tree) || (m_id == NONE); }

◆ readable()

bool c4::yml::ConstNodeRef::readable ( ) const
inlinenoexcept

because a ConstNodeRef cannot be used to write to the tree, readable() has the same meaning as !invalid()

Definition at line 884 of file node.hpp.

884{ return m_tree != nullptr && m_id != NONE; }

◆ is_seed()

constexpr bool c4::yml::ConstNodeRef::is_seed ( )
inlinestaticconstexprnoexcept

because a ConstNodeRef cannot be used to write to the tree, it can never be a seed.

This method is provided for API equivalence between ConstNodeRef and NodeRef.

Definition at line 887 of file node.hpp.

887{ return false; }

◆ valid()

bool c4::yml::ConstNodeRef::valid ( ) const
inlinenoexcept

Definition at line 889 of file node.hpp.

889{ return m_tree != nullptr && m_id != NONE; }

◆ tree()

Tree const * c4::yml::ConstNodeRef::tree ( ) const
inlinenoexcept

Definition at line 898 of file node.hpp.

898{ return m_tree; }

◆ id()

id_type c4::yml::ConstNodeRef::id ( ) const
inlinenoexcept

Definition at line 899 of file node.hpp.

899{ return m_id; }

◆ operator==()

bool c4::yml::ConstNodeRef::operator== ( ConstNodeRef const & that) const
inline

Definition at line 908 of file node.hpp.

908{ return that.m_tree == m_tree && m_id == that.m_id; }

◆ operator!=()

bool c4::yml::ConstNodeRef::operator!= ( ConstNodeRef const & that) const
inline

Definition at line 909 of file node.hpp.

909{ return ! this->operator== (that); }
bool operator==(ConstNodeRef const &that) const RYML_NOEXCEPT
Definition node.hpp:908

◆ get()

NodeData const * c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::get ( ) const
inlineinherited

returns the data or null when the id is NONE

Definition at line 201 of file node.hpp.

201{ return ((Impl const*)this)->readable() ? tree_->get(id_) : nullptr; }
NodeData const * get() const RYML_NOEXCEPT
returns the data or null when the id is NONE
Definition node.hpp:201

◆ type()

Forward to Tree::type().

Node must be readable.

Definition at line 207 of file node.hpp.

◆ type_str()

const char * c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::type_str ( ) const
inlineinherited

Forward to Tree::type_str().

Node must be readable.

Definition at line 208 of file node.hpp.

◆ key()

Forward to Tree::key().

Node must be readable.

Definition at line 210 of file node.hpp.

◆ key_tag()

csubstr c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::key_tag ( ) const
inlineinherited

Forward to Tree::key_tag().

Node must be readable.

Definition at line 211 of file node.hpp.

◆ key_ref()

csubstr c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::key_ref ( ) const
inlineinherited

Forward to Tree::key_ref().

Node must be readable.

Definition at line 212 of file node.hpp.

◆ key_anchor()

csubstr c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::key_anchor ( ) const
inlineinherited

Forward to Tree::key_anchor().

Node must be readable.

Definition at line 213 of file node.hpp.

◆ val()

Forward to Tree::val().

Node must be readable.

Definition at line 215 of file node.hpp.

◆ val_tag()

csubstr c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::val_tag ( ) const
inlineinherited

Forward to Tree::val_tag().

Node must be readable.

Definition at line 216 of file node.hpp.

◆ val_ref()

csubstr c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::val_ref ( ) const
inlineinherited

Forward to Tree::val_ref().

Node must be readable.

Definition at line 217 of file node.hpp.

◆ val_anchor()

csubstr c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::val_anchor ( ) const
inlineinherited

Forward to Tree::val_anchor().

Node must be readable.

Definition at line 218 of file node.hpp.

◆ keysc()

NodeScalar const & c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::keysc ( ) const
inlineinherited

Forward to Tree::keysc().

Node must be readable.

Definition at line 220 of file node.hpp.

◆ valsc()

NodeScalar const & c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::valsc ( ) const
inlineinherited

Forward to Tree::valsc().

Node must be readable.

Definition at line 221 of file node.hpp.

◆ key_is_null()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::key_is_null ( ) const
inlineinherited

Forward to Tree::key_is_null().

Node must be readable.

Definition at line 223 of file node.hpp.

◆ val_is_null()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::val_is_null ( ) const
inlineinherited

Forward to Tree::val_is_null().

Node must be readable.

Definition at line 224 of file node.hpp.

◆ is_key_unfiltered()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_unfiltered ( ) const
inlinenoexceptinherited

Forward to Tree::is_key_unfiltered().

Node must be readable.

Definition at line 226 of file node.hpp.

◆ is_val_unfiltered()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_unfiltered ( ) const
inlinenoexceptinherited

Forward to Tree::is_val_unfiltered().

Node must be readable.

Definition at line 227 of file node.hpp.

◆ empty()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::empty ( ) const
inlineinherited

Forward to Tree::empty().

Node must be readable.

Definition at line 236 of file node.hpp.

◆ is_stream()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_stream ( ) const
inlineinherited

Forward to Tree::is_stream().

Node must be readable.

Definition at line 237 of file node.hpp.

◆ is_doc()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_doc ( ) const
inlineinherited

Forward to Tree::is_doc().

Node must be readable.

Definition at line 238 of file node.hpp.

◆ is_container()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_container ( ) const
inlineinherited

Forward to Tree::is_container().

Node must be readable.

Definition at line 239 of file node.hpp.

◆ is_map()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_map ( ) const
inlineinherited

Forward to Tree::is_map().

Node must be readable.

Definition at line 240 of file node.hpp.

◆ is_seq()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_seq ( ) const
inlineinherited

Forward to Tree::is_seq().

Node must be readable.

Definition at line 241 of file node.hpp.

◆ has_val()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_val ( ) const
inlineinherited

Forward to Tree::has_val().

Node must be readable.

Definition at line 242 of file node.hpp.

◆ has_key()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_key ( ) const
inlineinherited

Forward to Tree::has_key().

Node must be readable.

Definition at line 243 of file node.hpp.

◆ is_val()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val ( ) const
inlineinherited

Forward to Tree::is_val().

Node must be readable.

Definition at line 244 of file node.hpp.

◆ is_keyval()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_keyval ( ) const
inlineinherited

Forward to Tree::is_keyval().

Node must be readable.

Definition at line 245 of file node.hpp.

◆ has_key_tag()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_key_tag ( ) const
inlineinherited

Forward to Tree::has_key_tag().

Node must be readable.

Definition at line 246 of file node.hpp.

◆ has_val_tag()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_val_tag ( ) const
inlineinherited

Forward to Tree::has_val_tag().

Node must be readable.

Definition at line 247 of file node.hpp.

◆ has_key_anchor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_key_anchor ( ) const
inlineinherited

Forward to Tree::has_key_anchor().

Node must be readable.

Definition at line 248 of file node.hpp.

◆ has_val_anchor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_val_anchor ( ) const
inlineinherited

Forward to Tree::has_val_anchor().

Node must be readable.

Definition at line 249 of file node.hpp.

◆ has_anchor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_anchor ( ) const
inlineinherited

Forward to Tree::has_anchor().

Node must be readable.

Definition at line 250 of file node.hpp.

◆ is_key_ref()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_ref ( ) const
inlineinherited

Forward to Tree::is_key_ref().

Node must be readable.

Definition at line 251 of file node.hpp.

◆ is_val_ref()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_ref ( ) const
inlineinherited

Forward to Tree::is_val_ref().

Node must be readable.

Definition at line 252 of file node.hpp.

◆ is_ref()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_ref ( ) const
inlineinherited

Forward to Tree::is_ref().

Node must be readable.

Definition at line 253 of file node.hpp.

◆ parent_is_seq()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::parent_is_seq ( ) const
inlineinherited

Forward to Tree::parent_is_seq().

Node must be readable.

Definition at line 254 of file node.hpp.

◆ parent_is_map()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::parent_is_map ( ) const
inlineinherited

Forward to Tree::parent_is_map().

Node must be readable.

Definition at line 255 of file node.hpp.

◆ is_key_anchor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_anchor ( ) const
inlinenoexceptinherited

Definition at line 257 of file node.hpp.

257{ _C4RR(); return tree_->has_key_anchor(id_); }
#define _C4RR()
Definition node.hpp:994
bool has_key_anchor() const RYML_NOEXCEPT
Forward to Tree::has_key_anchor().
Definition node.hpp:248

◆ is_val_hanchor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_hanchor ( ) const
inlinenoexceptinherited

Definition at line 258 of file node.hpp.

258{ _C4RR(); return tree_->has_val_anchor(id_); }
bool has_val_anchor() const RYML_NOEXCEPT
Forward to Tree::has_val_anchor().
Definition node.hpp:249

◆ is_anchor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_anchor ( ) const
inlinenoexceptinherited

Definition at line 259 of file node.hpp.

259{ _C4RR(); return tree_->has_anchor(id_); }
bool has_anchor() const RYML_NOEXCEPT
Forward to Tree::has_anchor().
Definition node.hpp:250

◆ is_anchor_or_ref()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_anchor_or_ref ( ) const
inlinenoexceptinherited

Definition at line 260 of file node.hpp.

260{ _C4RR(); return tree_->is_anchor_or_ref(id_); }
bool is_anchor_or_ref() const noexcept
Definition node.hpp:260

◆ type_has_any()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::type_has_any ( NodeType_e bits) const
inlineinherited

Forward to Tree::type_has_any().

Node must be readable.

Definition at line 271 of file node.hpp.

◆ type_has_all()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::type_has_all ( NodeType_e bits) const
inlineinherited

Forward to Tree::type_has_all().

Node must be readable.

Definition at line 272 of file node.hpp.

◆ type_has_none()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::type_has_none ( NodeType_e bits) const
inlineinherited

Forward to Tree::type_has_none().

Node must be readable.

Definition at line 273 of file node.hpp.

◆ key_style()

NodeType c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::key_style ( ) const
inlineinherited

Forward to Tree::key_style().

Node must be readable.

Definition at line 275 of file node.hpp.

◆ val_style()

NodeType c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::val_style ( ) const
inlineinherited

Forward to Tree::val_style().

Node must be readable.

Definition at line 276 of file node.hpp.

◆ is_container_styled()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_container_styled ( ) const
inlineinherited

Forward to Tree::is_container_styled().

Node must be readable.

Definition at line 278 of file node.hpp.

◆ is_block()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_block ( ) const
inlineinherited

Forward to Tree::is_block().

Node must be readable.

Definition at line 279 of file node.hpp.

◆ is_flow_sl()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_flow_sl ( ) const
inlineinherited

Forward to Tree::is_flow_sl().

Node must be readable.

Definition at line 280 of file node.hpp.

◆ is_flow_ml()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_flow_ml ( ) const
inlineinherited

Forward to Tree::is_flow_ml().

Node must be readable.

Definition at line 281 of file node.hpp.

◆ is_flow()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_flow ( ) const
inlineinherited

Forward to Tree::is_flow().

Node must be readable.

Definition at line 282 of file node.hpp.

◆ is_key_styled()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_styled ( ) const
inlineinherited

Forward to Tree::is_key_styled().

Node must be readable.

Definition at line 284 of file node.hpp.

◆ is_val_styled()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_styled ( ) const
inlineinherited

Forward to Tree::is_val_styled().

Node must be readable.

Definition at line 285 of file node.hpp.

◆ is_key_literal()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_literal ( ) const
inlineinherited

Forward to Tree::is_key_literal().

Node must be readable.

Definition at line 286 of file node.hpp.

◆ is_val_literal()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_literal ( ) const
inlineinherited

Forward to Tree::is_val_literal().

Node must be readable.

Definition at line 287 of file node.hpp.

◆ is_key_folded()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_folded ( ) const
inlineinherited

Forward to Tree::is_key_folded().

Node must be readable.

Definition at line 288 of file node.hpp.

◆ is_val_folded()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_folded ( ) const
inlineinherited

Forward to Tree::is_val_folded().

Node must be readable.

Definition at line 289 of file node.hpp.

◆ is_key_squo()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_squo ( ) const
inlineinherited

Forward to Tree::is_key_squo().

Node must be readable.

Definition at line 290 of file node.hpp.

◆ is_val_squo()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_squo ( ) const
inlineinherited

Forward to Tree::is_val_squo().

Node must be readable.

Definition at line 291 of file node.hpp.

◆ is_key_dquo()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_dquo ( ) const
inlineinherited

Forward to Tree::is_key_dquo().

Node must be readable.

Definition at line 292 of file node.hpp.

◆ is_val_dquo()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_dquo ( ) const
inlineinherited

Forward to Tree::is_val_dquo().

Node must be readable.

Definition at line 293 of file node.hpp.

◆ is_key_plain()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_plain ( ) const
inlineinherited

Forward to Tree::is_key_plain().

Node must be readable.

Definition at line 294 of file node.hpp.

◆ is_val_plain()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_plain ( ) const
inlineinherited

Forward to Tree::is_val_plain().

Node must be readable.

Definition at line 295 of file node.hpp.

◆ is_key_quoted()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_key_quoted ( ) const
inlineinherited

Forward to Tree::is_key_quoted().

Node must be readable.

Definition at line 296 of file node.hpp.

◆ is_val_quoted()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_val_quoted ( ) const
inlineinherited

Forward to Tree::is_val_quoted().

Node must be readable.

Definition at line 297 of file node.hpp.

◆ is_quoted()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_quoted ( ) const
inlineinherited

Forward to Tree::is_quoted().

Node must be readable.

Definition at line 298 of file node.hpp.

◆ is_root()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_root ( ) const
inlineinherited

Forward to Tree::is_root().

Node must be readable.

Definition at line 309 of file node.hpp.

◆ has_parent()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_parent ( ) const
inlineinherited

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

Definition at line 310 of file node.hpp.

◆ is_ancestor()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::is_ancestor ( ConstNodeRef const & ancestor) const
inlineinherited

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

Definition at line 311 of file node.hpp.

◆ has_child()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_child ( ConstNodeRef const & n) const
inlineinherited

Forward to Tree::has_child().

Node must be readable.

Definition at line 313 of file node.hpp.

◆ has_children()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_children ( ) const
inlineinherited

Forward to Tree::has_children().

Node must be readable.

Definition at line 316 of file node.hpp.

◆ has_sibling()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_sibling ( ConstNodeRef const & n) const
inlineinherited

Forward to Tree::has_sibling().

Node must be readable.

Definition at line 318 of file node.hpp.

◆ has_other_siblings()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_other_siblings ( ) const
inlineinherited

Forward to Tree::has_other_siblings().

Node must be readable.

Definition at line 321 of file node.hpp.

◆ has_siblings()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::has_siblings ( ) const
inlineinherited

Definition at line 323 of file node.hpp.

323{ _C4RR(); return tree_->has_siblings(id_); }
bool has_siblings() const RYML_NOEXCEPT
Definition node.hpp:323

◆ doc()

Forward to Tree::doc().

Node must be readable.

Definition at line 335 of file node.hpp.

◆ parent()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::parent ( ) ->Impl
inlineinherited

Forward to Tree::parent().

Node must be readable.

Definition at line 339 of file node.hpp.

◆ first_child()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::first_child ( ) ->Impl
inlineinherited

Forward to Tree::first_child().

Node must be readable.

Definition at line 343 of file node.hpp.

◆ last_child()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::last_child ( ) ->Impl
inlineinherited

Forward to Tree::last_child().

Node must be readable.

Definition at line 347 of file node.hpp.

◆ child()

Forward to Tree::child().

Node must be readable.

Definition at line 351 of file node.hpp.

◆ find_child()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::find_child ( csubstr name) ->ConstNodeRef
inlineinherited

Forward to Tree::find_child().

Node must be readable.

Definition at line 355 of file node.hpp.

◆ prev_sibling()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::prev_sibling ( ) ->Impl
inlineinherited

Forward to Tree::prev_sibling().

Node must be readable.

Definition at line 359 of file node.hpp.

◆ next_sibling()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::next_sibling ( ) ->Impl
inlineinherited

Forward to Tree::next_sibling().

Node must be readable.

Definition at line 363 of file node.hpp.

◆ first_sibling()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::first_sibling ( ) ->Impl
inlineinherited

Forward to Tree::first_sibling().

Node must be readable.

Definition at line 367 of file node.hpp.

◆ last_sibling()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::last_sibling ( ) ->Impl
inlineinherited

Forward to Tree::last_sibling().

Node must be readable.

Definition at line 371 of file node.hpp.

◆ sibling()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::sibling ( id_type pos) ->ConstNodeRef
inlineinherited

Forward to Tree::sibling().

Node must be readable.

Definition at line 375 of file node.hpp.

◆ find_sibling()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::find_sibling ( csubstr name) ->ConstNodeRef
inlineinherited

Forward to Tree::find_sibling().

Node must be readable.

Definition at line 379 of file node.hpp.

◆ ancestor_doc()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::ancestor_doc ( ) ->Impl
inlineinherited

Forward to Tree::ancestor_doc().

Node must be readable.

Definition at line 383 of file node.hpp.

◆ num_children()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::num_children ( ) const
inlineinherited

O(num_children).

Forward to Tree::num_children().

Definition at line 386 of file node.hpp.

◆ num_siblings()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::num_siblings ( ) const
inlineinherited

O(num_children).

Forward to Tree::num_siblings().

Definition at line 387 of file node.hpp.

◆ num_other_siblings()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::num_other_siblings ( ) const
inlineinherited

O(num_siblings).

Forward to Tree::num_other_siblings().

Definition at line 388 of file node.hpp.

◆ child_pos()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::child_pos ( ConstNodeRef const & n) const
inlineinherited

O(num_children).

Forward to Tree::child_pos().

Definition at line 389 of file node.hpp.

◆ sibling_pos()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::sibling_pos ( ConstNodeRef const & n) const
inlineinherited

O(num_siblings).

Forward to Tree::sibling_pos().

Definition at line 390 of file node.hpp.

◆ depth_asc()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::depth_asc ( ) const
inlineinherited

Definition at line 392 of file node.hpp.

392{ _C4RR(); return tree_->depth_asc(id_); } /** O(log(num_nodes)). Forward to Tree::depth_asc(). Node must be readable. */
id_type depth_asc() const RYML_NOEXCEPT
Definition node.hpp:392

◆ depth_desc()

id_type c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::depth_desc ( ) const
inlineinherited

O(log(num_nodes)).

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

Definition at line 393 of file node.hpp.

393{ _C4RR(); return tree_->depth_desc(id_); } /** O(num_nodes). Forward to Tree::depth_desc(). Node must be readable. */
id_type depth_desc() const RYML_NOEXCEPT
O(log(num_nodes)).
Definition node.hpp:393

◆ operator[]()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::operator[] ( csubstr key) ->ConstNodeRef
inlineinherited

Find child by key; complexity is O(num_children).

Returns the requested node, or an object in seed state if no such child is found (see NodeRef for an explanation of what is seed state). When the object is in seed state, using it to read from the tree is UB. The seed node can be used to write to the tree provided that its create() method is called prior to writing, which happens in most modifying methods in NodeRef. It is the caller's responsibility to verify that the returned node is readable before subsequently using it to read from the tree.

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 422 of file node.hpp.

423 {
424 _C4RR();
426 return ch != NONE ? Impl(tree__, ch) : Impl(tree__, id__, key);
427 }
auto find_child(csubstr name) RYML_NOEXCEPT -> Impl
Forward to Tree::find_child().
Definition node.hpp:355

◆ at()

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 529 of file node.hpp.

530 {
531 _RYML_CHECK_BASIC(tree_ != nullptr);
532 _RYML_CHECK_VISIT_(tree_->m_callbacks, (id_ >= 0 && id_ < tree_->capacity()), tree_, id_);
533 _RYML_CHECK_VISIT_(tree_->m_callbacks, ((Impl const*)this)->readable(), tree_, id_);
534 _RYML_CHECK_VISIT_(tree_->m_callbacks, tree_->is_map(id_), tree_, id_);
536 return ch != NONE ? Impl(tree__, ch) : Impl(tree__, id__, key);
537 }
bool is_map() const RYML_NOEXCEPT
Forward to Tree::is_map().
Definition node.hpp:240

◆ location()

Location c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::location ( Parser const & parser) const
inlineinherited

Definition at line 626 of file node.hpp.

627 {
628 _C4RR();
629 return tree_->location(parser, id_);
630 }
Location location(Parser const &parser) const
Definition node.hpp:626

◆ operator>>()

ConstNodeRef const & c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::operator>> ( T & v) const
inlineinherited

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

Definition at line 642 of file node.hpp.

643 {
644 _C4RR();
645 if( ! read((ConstImpl const&)*this, &v))
646 _RYML_ERR_VISIT_(tree_->m_callbacks, tree_, id_, "could not deserialize value");
647 return *((ConstImpl const*)this);
648 }
bool read(ConstNodeRef const &n, T *v)
Definition node.hpp:1589

◆ get_if()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::get_if ( csubstr name,
T * var ) const
inlineinherited

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

return true if the child existed.

Definition at line 673 of file node.hpp.

674 {
675 _C4RR();
677 if(!ch.readable())
678 return false;
679 ch >> *var;
680 return true;
681 }

◆ begin()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::begin ( ) ->iterator
inlineinherited

get a mutable iterator to the first child.

NOT AVAILABLE for ConstNodeRef.

Definition at line 726 of file node.hpp.

◆ cbegin()

get an iterator to the first child

Definition at line 728 of file node.hpp.

◆ end()

get an iterator to after the last child.

NOT AVAILABLE for ConstNodeRef.

Definition at line 731 of file node.hpp.

◆ cend()

get an iterator to after the last child

get an iterator to after the last child

Definition at line 735 of file node.hpp.

◆ children()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::children ( ) ->children_view
inlineinherited

get an iterable view over children.

NOT AVAILABLE for ConstNodeRef.

Definition at line 738 of file node.hpp.

◆ cchildren()

get an iterable view over children

Definition at line 740 of file node.hpp.

◆ siblings()

auto c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::siblings ( ) ->children_view
inlineinherited

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

Definition at line 744 of file node.hpp.

745 {
746 _C4RR();
747 NodeData const *nd = tree__->get(id__);
748 return (nd->m_parent != NONE) ? // does it have a parent?
750 :
751 children_view(end(), end());
752 }
id_type m_first_child
Definition tree.hpp:237
detail::child_iterator< ConstNodeRef > iterator
Definition node.hpp:720
detail::children_view_< ConstNodeRef > children_view
Definition node.hpp:722

◆ csiblings()

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

Definition at line 764 of file node.hpp.

764{ return siblings(); }
auto siblings() RYML_NOEXCEPT -> children_view
Definition node.hpp:744

◆ visit()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::visit ( Visitor fn,
id_type indentation_level = 0,
bool skip_root = true ) const
inlineinherited

visit every child node calling fn(node)

Definition at line 768 of file node.hpp.

769 {
770 _C4RR();
771 return detail::_visit(*(ConstImpl const*)this, fn, indentation_level, skip_root);
772 }

◆ visit_stacked()

bool c4::yml::detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >::visit_stacked ( Visitor fn,
id_type indentation_level = 0,
bool skip_root = true ) const
inlineinherited

visit every child node calling fn(node, level)

Definition at line 784 of file node.hpp.

785 {
786 _C4RR();
788 }

◆ detail::RoNodeMethods< ConstNodeRef, ConstNodeRef >

Definition at line 837 of file node.hpp.

Member Data Documentation

◆ m_tree

Tree const* c4::yml::ConstNodeRef::m_tree

Definition at line 834 of file node.hpp.

◆ m_id

id_type c4::yml::ConstNodeRef::m_id

Definition at line 835 of file node.hpp.

◆ NodeRef

friend c4::yml::ConstNodeRef::NodeRef

Definition at line 837 of file node.hpp.


The documentation for this class was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/rapidyaml/checkouts/v0.14.0/src/c4/yml/node.hpp