134int main(
int argc,
char *argv[])
138 rclcpp::init(argc, argv);
139 const rclcpp::Node::SharedPtr nh = rclcpp::Node::make_shared(
146 rclcpp::NodeOptions().allow_undeclared_parameters(
true).automatically_declare_parameters_from_overrides(
151 MyContainerClass my_container_class;
154 my_container_class.my_class_vector_.emplace_back();
155 ariles2::apply<ariles2::Defaults>(my_container_class.my_class_vector_[0]);
166 ariles2::apply<ariles2::yaml_cpp::Writer>(std::cout, my_container_class);
169 ariles2::apply<ariles2::ros2param::Reader>(nh->get_node_parameters_interface(), my_container_class);
186 ariles2::apply<ariles2::yaml_cpp::Writer>(std::cout, my_container_class);
191 MyContainerClass my_container_class;
192 my_container_class.ptr_ = std::make_shared<MyClass>();
193 ariles2::apply<ariles2::Defaults>(*my_container_class.ptr_);
195 my_container_class.my_class_vector_.emplace_back();
196 ariles2::apply<ariles2::Defaults>(my_container_class.my_class_vector_[0]);
197 my_container_class.my_class_vector_[0].real_member = 200;
199 ariles2::apply<ariles2::ros2param::Writer>(nh->get_node_parameters_interface(), my_container_class);
200 ariles2::apply<ariles2::ros2param::Reader>(nh->get_node_parameters_interface(), my_container_class);
223 ariles2::apply<ariles2::yaml_cpp::Writer>(std::cout, my_container_class);
231 MyContainerClass my_container_class;
232 my_container_class.my_class_vector_.emplace_back();
233 ariles2::apply<ariles2::Defaults>(my_container_class.my_class_vector_[0]);
234 ariles2::apply<ariles2::ros2param::Declarator>(nh->get_node_parameters_interface(), my_container_class);
243 ariles2::apply<ariles2::ros2param::Reader>(nh->get_node_parameters_interface(), my_class);
245 catch (
const std::exception &e)
248 std::cout << e.what() << std::endl;
252 catch (
const std::exception &e)
254 std::cout << e.what() << std::endl;
255 return (EXIT_FAILURE);
258 return (EXIT_SUCCESS);