MetricFamily.h 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. // Generated by gencpp from file cartographer_ros_msgs/MetricFamily.msg
  2. // DO NOT EDIT!
  3. #ifndef CARTOGRAPHER_ROS_MSGS_MESSAGE_METRICFAMILY_H
  4. #define CARTOGRAPHER_ROS_MSGS_MESSAGE_METRICFAMILY_H
  5. #include <string>
  6. #include <vector>
  7. #include <map>
  8. #include <ros/types.h>
  9. #include <ros/serialization.h>
  10. #include <ros/builtin_message_traits.h>
  11. #include <ros/message_operations.h>
  12. #include <cartographer_ros_msgs/Metric.h>
  13. namespace cartographer_ros_msgs
  14. {
  15. template <class ContainerAllocator>
  16. struct MetricFamily_
  17. {
  18. typedef MetricFamily_<ContainerAllocator> Type;
  19. MetricFamily_()
  20. : name()
  21. , description()
  22. , metrics() {
  23. }
  24. MetricFamily_(const ContainerAllocator& _alloc)
  25. : name(_alloc)
  26. , description(_alloc)
  27. , metrics(_alloc) {
  28. (void)_alloc;
  29. }
  30. typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type;
  31. _name_type name;
  32. typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _description_type;
  33. _description_type description;
  34. typedef std::vector< ::cartographer_ros_msgs::Metric_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::cartographer_ros_msgs::Metric_<ContainerAllocator> >::other > _metrics_type;
  35. _metrics_type metrics;
  36. typedef boost::shared_ptr< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> > Ptr;
  37. typedef boost::shared_ptr< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> const> ConstPtr;
  38. }; // struct MetricFamily_
  39. typedef ::cartographer_ros_msgs::MetricFamily_<std::allocator<void> > MetricFamily;
  40. typedef boost::shared_ptr< ::cartographer_ros_msgs::MetricFamily > MetricFamilyPtr;
  41. typedef boost::shared_ptr< ::cartographer_ros_msgs::MetricFamily const> MetricFamilyConstPtr;
  42. // constants requiring out of line definition
  43. template<typename ContainerAllocator>
  44. std::ostream& operator<<(std::ostream& s, const ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> & v)
  45. {
  46. ros::message_operations::Printer< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >::stream(s, "", v);
  47. return s;
  48. }
  49. } // namespace cartographer_ros_msgs
  50. namespace ros
  51. {
  52. namespace message_traits
  53. {
  54. // BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': False}
  55. // {'std_msgs': ['/opt/ros/melodic/share/std_msgs/cmake/../msg'], 'cartographer_ros_msgs': ['/home/youchen/Documents/catkin_ws/src/cartographer_ros/cartographer_ros_msgs/msg'], 'geometry_msgs': ['/opt/ros/melodic/share/geometry_msgs/cmake/../msg']}
  56. // !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
  57. template <class ContainerAllocator>
  58. struct IsFixedSize< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  59. : FalseType
  60. { };
  61. template <class ContainerAllocator>
  62. struct IsFixedSize< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> const>
  63. : FalseType
  64. { };
  65. template <class ContainerAllocator>
  66. struct IsMessage< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  67. : TrueType
  68. { };
  69. template <class ContainerAllocator>
  70. struct IsMessage< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> const>
  71. : TrueType
  72. { };
  73. template <class ContainerAllocator>
  74. struct HasHeader< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  75. : FalseType
  76. { };
  77. template <class ContainerAllocator>
  78. struct HasHeader< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> const>
  79. : FalseType
  80. { };
  81. template<class ContainerAllocator>
  82. struct MD5Sum< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  83. {
  84. static const char* value()
  85. {
  86. return "583a11b161bb4a70f5df274715bcaf10";
  87. }
  88. static const char* value(const ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator>&) { return value(); }
  89. static const uint64_t static_value1 = 0x583a11b161bb4a70ULL;
  90. static const uint64_t static_value2 = 0xf5df274715bcaf10ULL;
  91. };
  92. template<class ContainerAllocator>
  93. struct DataType< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  94. {
  95. static const char* value()
  96. {
  97. return "cartographer_ros_msgs/MetricFamily";
  98. }
  99. static const char* value(const ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator>&) { return value(); }
  100. };
  101. template<class ContainerAllocator>
  102. struct Definition< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  103. {
  104. static const char* value()
  105. {
  106. return "# 2018 The Cartographer Authors\n\
  107. #\n\
  108. # Licensed under the Apache License, Version 2.0 (the \"License\");\n\
  109. # you may not use this file except in compliance with the License.\n\
  110. # You may obtain a copy of the License at\n\
  111. #\n\
  112. # http://www.apache.org/licenses/LICENSE-2.0\n\
  113. #\n\
  114. # Unless required by applicable law or agreed to in writing, software\n\
  115. # distributed under the License is distributed on an \"AS IS\" BASIS,\n\
  116. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
  117. # See the License for the specific language governing permissions and\n\
  118. # limitations under the License.\n\
  119. \n\
  120. string name\n\
  121. string description\n\
  122. cartographer_ros_msgs/Metric[] metrics\n\
  123. \n\
  124. ================================================================================\n\
  125. MSG: cartographer_ros_msgs/Metric\n\
  126. # 2018 The Cartographer Authors\n\
  127. #\n\
  128. # Licensed under the Apache License, Version 2.0 (the \"License\");\n\
  129. # you may not use this file except in compliance with the License.\n\
  130. # You may obtain a copy of the License at\n\
  131. #\n\
  132. # http://www.apache.org/licenses/LICENSE-2.0\n\
  133. #\n\
  134. # Unless required by applicable law or agreed to in writing, software\n\
  135. # distributed under the License is distributed on an \"AS IS\" BASIS,\n\
  136. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
  137. # See the License for the specific language governing permissions and\n\
  138. # limitations under the License.\n\
  139. \n\
  140. uint8 TYPE_COUNTER=0\n\
  141. uint8 TYPE_GAUGE=1\n\
  142. uint8 TYPE_HISTOGRAM=2\n\
  143. \n\
  144. uint8 type\n\
  145. cartographer_ros_msgs/MetricLabel[] labels\n\
  146. \n\
  147. # TYPE_COUNTER or TYPE_GAUGE\n\
  148. float64 value\n\
  149. \n\
  150. # TYPE_HISTOGRAM\n\
  151. cartographer_ros_msgs/HistogramBucket[] counts_by_bucket\n\
  152. \n\
  153. ================================================================================\n\
  154. MSG: cartographer_ros_msgs/MetricLabel\n\
  155. # 2018 The Cartographer Authors\n\
  156. #\n\
  157. # Licensed under the Apache License, Version 2.0 (the \"License\");\n\
  158. # you may not use this file except in compliance with the License.\n\
  159. # You may obtain a copy of the License at\n\
  160. #\n\
  161. # http://www.apache.org/licenses/LICENSE-2.0\n\
  162. #\n\
  163. # Unless required by applicable law or agreed to in writing, software\n\
  164. # distributed under the License is distributed on an \"AS IS\" BASIS,\n\
  165. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
  166. # See the License for the specific language governing permissions and\n\
  167. # limitations under the License.\n\
  168. \n\
  169. string key\n\
  170. string value\n\
  171. \n\
  172. ================================================================================\n\
  173. MSG: cartographer_ros_msgs/HistogramBucket\n\
  174. # 2018 The Cartographer Authors\n\
  175. #\n\
  176. # Licensed under the Apache License, Version 2.0 (the \"License\");\n\
  177. # you may not use this file except in compliance with the License.\n\
  178. # You may obtain a copy of the License at\n\
  179. #\n\
  180. # http://www.apache.org/licenses/LICENSE-2.0\n\
  181. #\n\
  182. # Unless required by applicable law or agreed to in writing, software\n\
  183. # distributed under the License is distributed on an \"AS IS\" BASIS,\n\
  184. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
  185. # See the License for the specific language governing permissions and\n\
  186. # limitations under the License.\n\
  187. \n\
  188. # A histogram bucket counts values x for which:\n\
  189. # previous_boundary < x <= bucket_boundary\n\
  190. # holds.\n\
  191. float64 bucket_boundary\n\
  192. float64 count\n\
  193. ";
  194. }
  195. static const char* value(const ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator>&) { return value(); }
  196. };
  197. } // namespace message_traits
  198. } // namespace ros
  199. namespace ros
  200. {
  201. namespace serialization
  202. {
  203. template<class ContainerAllocator> struct Serializer< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  204. {
  205. template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
  206. {
  207. stream.next(m.name);
  208. stream.next(m.description);
  209. stream.next(m.metrics);
  210. }
  211. ROS_DECLARE_ALLINONE_SERIALIZER
  212. }; // struct MetricFamily_
  213. } // namespace serialization
  214. } // namespace ros
  215. namespace ros
  216. {
  217. namespace message_operations
  218. {
  219. template<class ContainerAllocator>
  220. struct Printer< ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator> >
  221. {
  222. template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::cartographer_ros_msgs::MetricFamily_<ContainerAllocator>& v)
  223. {
  224. s << indent << "name: ";
  225. Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name);
  226. s << indent << "description: ";
  227. Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.description);
  228. s << indent << "metrics[]" << std::endl;
  229. for (size_t i = 0; i < v.metrics.size(); ++i)
  230. {
  231. s << indent << " metrics[" << i << "]: ";
  232. s << std::endl;
  233. s << indent;
  234. Printer< ::cartographer_ros_msgs::Metric_<ContainerAllocator> >::stream(s, indent + " ", v.metrics[i]);
  235. }
  236. }
  237. };
  238. } // namespace message_operations
  239. } // namespace ros
  240. #endif // CARTOGRAPHER_ROS_MSGS_MESSAGE_METRICFAMILY_H