131int main(
int argc,
char *argv[])
135 rclcpp::init(argc, argv);
136 const rclcpp::Node::SharedPtr nh = rclcpp::Node::make_shared(
143 rclcpp::NodeOptions().allow_undeclared_parameters(
true).automatically_declare_parameters_from_overrides(
148 MyContainerClass my_container_class;
151 my_container_class.my_class_vector_.emplace_back();
152 ariles2::apply<ariles2::Defaults>(my_container_class.my_class_vector_[0]);
163 ariles2::apply<ariles2::yaml_cpp::Writer>(std::cout, my_container_class);
166 ariles2::apply<ariles2::ros2param::Reader>(nh->get_node_parameters_interface(), my_container_class);
183 ariles2::apply<ariles2::yaml_cpp::Writer>(std::cout, my_container_class);
188 MyContainerClass my_container_class;
189 my_container_class.ptr_ = std::make_shared<MyClass>();
190 ariles2::apply<ariles2::Defaults>(*my_container_class.ptr_);
192 my_container_class.my_class_vector_.emplace_back();
193 ariles2::apply<ariles2::Defaults>(my_container_class.my_class_vector_[0]);
194 my_container_class.my_class_vector_[0].real_member = 200;
196 ariles2::apply<ariles2::ros2param::Writer>(nh->get_node_parameters_interface(), my_container_class);
197 ariles2::apply<ariles2::ros2param::Reader>(nh->get_node_parameters_interface(), my_container_class);
220 ariles2::apply<ariles2::yaml_cpp::Writer>(std::cout, my_container_class);
228 MyContainerClass my_container_class;
229 my_container_class.my_class_vector_.emplace_back();
230 ariles2::apply<ariles2::Defaults>(my_container_class.my_class_vector_[0]);
231 ariles2::apply<ariles2::ros2param::Declarator>(nh->get_node_parameters_interface(), my_container_class);
240 ariles2::apply<ariles2::ros2param::Reader>(nh->get_node_parameters_interface(), my_class);
242 catch (
const std::exception &e)
245 std::cout << e.what() << std::endl;
249 catch (
const std::exception &e)
251 std::cout << e.what() << std::endl;
252 return (EXIT_FAILURE);
255 return (EXIT_SUCCESS);