Ariles
ros2param.h
Go to the documentation of this file.
1 /**
2  @file
3  @author Alexander Sherikov
4 
5  @copyright 2018-2020 Alexander Sherikov, Licensed under the Apache License, Version 2.0.
6  (see @ref LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
7 
8  @brief
9 */
10 
11 /**
12 @defgroup ros2param ROS2 parameters
13 @ingroup config
14 
15 @brief ROS2 parameters.
16 */
17 
18 
19 #pragma once
20 
21 #define ARILES2_VISITOR_INCLUDED_ros2param
22 
25 
26 #include <rclcpp/rclcpp.hpp>
27 
28 
29 #include "./ros2param/reader.h"
30 #include "./ros2param/writer.h"
31 #include "./ros2param/declarator.h"
32 
33 namespace ariles2
34 {
35  /**
36  * @brief ROS parameter server visitor.
37  * @ingroup ros2param
38  */
39  struct ros2param
40  {
43 
44 
45  class Declarator : public aggregate::Visitor<ros2param::Declarator, Defaults, ns_ros2param::Declarator>
46  {
47  public:
49 
50 
51  public:
52  template <class... t_Initializers>
53  // cppcheck-suppress noExplicitConstructor
54  Declarator(t_Initializers &&...initializers)
55  : AggregateBase(std::tuple<>(), std::forward_as_tuple(std::forward<t_Initializers>(initializers)...))
56  {
58  }
59  };
60  };
61 } // namespace ariles2
Declarator(t_Initializers &&...initializers)
Definition: ros2param.h:54
Definition: basic.h:17
ROS parameter server visitor.
Definition: ros2param.h:40
#define CPPUT_TRACE_FUNCTION
Definition: trace.h:126