Lines Matching +full:child +full:- +full:nodes

29 #include "utils/config/nodes.ipp"
73 node->_dynamic = _dynamic; in copy_into()
76 base_node* new_node = (*iter).second->deep_copy(); in copy_into()
78 node->_children[(*iter).first] = new_node; in copy_into()
98 /// \throw bad_combination_error If the two nodes cannot be combined.
109 if (node->_children.find(name) != node->_children.end()) { in combine_children_into()
117 new_node.reset((*iter1).second->deep_copy()); in combine_children_into()
121 new_node.reset((*iter1).second->combine(child_key, in combine_children_into()
125 node->_children[name] = new_node.release(); in combine_children_into()
133 /// nodes are dynamic.
139 /// \throw bad_combination_error If the two nodes cannot be combined.
149 node->_dynamic = _dynamic || other._dynamic; in combine_into()
166 /// nodes if they don't exist (as would be necessary to set a new node).
185 if (key_pos == key.size() - 1) { in lookup_ro()
188 PRE(key_pos < key.size() - 1); in lookup_ro()
190 const inner_node& child = dynamic_cast< const inner_node& >( in lookup_ro() local
192 return child.lookup_ro(key, key_pos + 1); in lookup_ro()
204 /// creating any intermediate nodes if they do not already exist (for the case
205 /// of dynamic inner nodes). The returned node is non-constant, so this can be
229 base_node* const child = (key_pos == key.size() - 1) ? in lookup_rw() local
232 _children.insert(children_map::value_type(key[key_pos], child)); in lookup_rw()
239 if (key_pos == key.size() - 1) { in lookup_rw()
241 leaf_node& child = dynamic_cast< leaf_node& >( in lookup_rw() local
243 return &child; in lookup_rw()
248 PRE(key_pos < key.size() - 1); in lookup_rw()
250 inner_node& child = dynamic_cast< inner_node& >( in lookup_rw() local
252 return child.lookup_rw(key, key_pos + 1, new_node); in lookup_rw()
275 leaf_node& child = dynamic_cast< leaf_node& >(*(*iter).second); in all_properties() local
276 if (child.is_set()) in all_properties()
277 properties[flatten_key(child_key)] = child.to_string(); in all_properties()
279 inner_node& child = dynamic_cast< inner_node& >(*(*iter).second); in all_properties() local
280 child.all_properties(properties, child_key); in all_properties()
295 /// \return A dynamically-allocated node.
312 /// \throw bad_combination_error If the two nodes cannot be combined.
326 /// tree-related issues. The reasons is that define() is a method that does not
327 /// depend on user input: it is intended to pre-populate the tree with a
341 if (key_pos == key.size() - 1) { in define()
346 PRE(key_pos < key.size() - 1); in define()
353 child_ptr->define(key, key_pos + 1, new_node); in define()
356 static_inner_node& child = dynamic_cast< static_inner_node& >( in define() local
358 child.define(key, key_pos + 1, new_node); in define()
376 /// \return A dynamically-allocated node.
393 /// \throw bad_combination_error If the two nodes cannot be combined.
417 /// \throw bad_combination_error If the two nodes cannot be combined.
440 /// \return A dynamically-allocated node.
445 new_node->_value = _value; in deep_copy()
479 /// \return A dynamically-allocated node.
484 new_node->_value = _value; in deep_copy()
531 /// \return A dynamically-allocated node.
536 new_node->_value = _value; in deep_copy()
570 /// \return A dynamically-allocated node.
575 new_node->_value = _value; in deep_copy()