-
Notifications
You must be signed in to change notification settings - Fork 115
Closed
Description
Originally posted by @captain-yoshi in #293 (comment)
I would have though that iterating a NodeRef
children's would work (implicitly converting them to a ConstNodeRef
) :
ryml::Tree tree;
ryml::NodeRef node = tree.rootref();
auto const& path_constraints = node["path_constraints"];
for (ryml::ConstNodeRef const& path_constraint : path_constraints.children())
{
...
}
The above didin't compile:
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/mtc/src/pickplace_builder.cpp:286:80: error: passing ‘const c4::yml::NodeRef’ as ‘this’ argument discards qualifiers [-fpermissive]
286 | for (ryml::ConstNodeRef const& path_constraint : path_constraints.children())
| ^
In file included from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/std/std.h:41,
from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/include/moveit_serialization/ryml/conversions.h:42,
from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/serialization/ryml.h:41,
from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/core/include/moveit_benchmark_suite/robot.h:47,
from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/mtc/include/moveit_benchmark_suite/mtc/pickplace_profiler.h:56,
from /home/captain-yoshi/ws/ros/mimic_ws/src/moveit_benchmark_suite/mtc/src/pickplace_builder.cpp:5:
/home/captain-yoshi/ws/ros/mimic_ws/src/moveit_serialization/serialization/ext/ryml/src/c4/yml/node.hpp:1109:25: note: in call to ‘c4::yml::NodeRef::children_view c4::yml::NodeRef::children()’
1109 | children_view children() { return children_view(begin(), end()); }
| ^~~~~~~~
By switching the auto
keyword with the ConstRefNode
it worked:
// auto const& path_constraints = node["path_constraints"];
ryml::ConstRefNode const& path_constraints = node["path_constraints"];
Metadata
Metadata
Assignees
Labels
No labels