// Generated by gencpp from file cartographer_ros_msgs/Metric.msg // DO NOT EDIT! #ifndef CARTOGRAPHER_ROS_MSGS_MESSAGE_METRIC_H #define CARTOGRAPHER_ROS_MSGS_MESSAGE_METRIC_H #include #include #include #include #include #include #include #include #include namespace cartographer_ros_msgs { template struct Metric_ { typedef Metric_ Type; Metric_() : type(0) , labels() , value(0.0) , counts_by_bucket() { } Metric_(const ContainerAllocator& _alloc) : type(0) , labels(_alloc) , value(0.0) , counts_by_bucket(_alloc) { (void)_alloc; } typedef uint8_t _type_type; _type_type type; typedef std::vector< ::cartographer_ros_msgs::MetricLabel_ , typename ContainerAllocator::template rebind< ::cartographer_ros_msgs::MetricLabel_ >::other > _labels_type; _labels_type labels; typedef double _value_type; _value_type value; typedef std::vector< ::cartographer_ros_msgs::HistogramBucket_ , typename ContainerAllocator::template rebind< ::cartographer_ros_msgs::HistogramBucket_ >::other > _counts_by_bucket_type; _counts_by_bucket_type counts_by_bucket; enum { TYPE_COUNTER = 0u, TYPE_GAUGE = 1u, TYPE_HISTOGRAM = 2u, }; typedef boost::shared_ptr< ::cartographer_ros_msgs::Metric_ > Ptr; typedef boost::shared_ptr< ::cartographer_ros_msgs::Metric_ const> ConstPtr; }; // struct Metric_ typedef ::cartographer_ros_msgs::Metric_ > Metric; typedef boost::shared_ptr< ::cartographer_ros_msgs::Metric > MetricPtr; typedef boost::shared_ptr< ::cartographer_ros_msgs::Metric const> MetricConstPtr; // constants requiring out of line definition template std::ostream& operator<<(std::ostream& s, const ::cartographer_ros_msgs::Metric_ & v) { ros::message_operations::Printer< ::cartographer_ros_msgs::Metric_ >::stream(s, "", v); return s; } } // namespace cartographer_ros_msgs namespace ros { namespace message_traits { // BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': False} // {'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']} // !!!!!!!!!!! ['__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'] template struct IsFixedSize< ::cartographer_ros_msgs::Metric_ > : FalseType { }; template struct IsFixedSize< ::cartographer_ros_msgs::Metric_ const> : FalseType { }; template struct IsMessage< ::cartographer_ros_msgs::Metric_ > : TrueType { }; template struct IsMessage< ::cartographer_ros_msgs::Metric_ const> : TrueType { }; template struct HasHeader< ::cartographer_ros_msgs::Metric_ > : FalseType { }; template struct HasHeader< ::cartographer_ros_msgs::Metric_ const> : FalseType { }; template struct MD5Sum< ::cartographer_ros_msgs::Metric_ > { static const char* value() { return "94a6ea1c6ef245b483a220f6769c8e36"; } static const char* value(const ::cartographer_ros_msgs::Metric_&) { return value(); } static const uint64_t static_value1 = 0x94a6ea1c6ef245b4ULL; static const uint64_t static_value2 = 0x83a220f6769c8e36ULL; }; template struct DataType< ::cartographer_ros_msgs::Metric_ > { static const char* value() { return "cartographer_ros_msgs/Metric"; } static const char* value(const ::cartographer_ros_msgs::Metric_&) { return value(); } }; template struct Definition< ::cartographer_ros_msgs::Metric_ > { static const char* value() { return "# 2018 The Cartographer Authors\n\ #\n\ # Licensed under the Apache License, Version 2.0 (the \"License\");\n\ # you may not use this file except in compliance with the License.\n\ # You may obtain a copy of the License at\n\ #\n\ # http://www.apache.org/licenses/LICENSE-2.0\n\ #\n\ # Unless required by applicable law or agreed to in writing, software\n\ # distributed under the License is distributed on an \"AS IS\" BASIS,\n\ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\ # See the License for the specific language governing permissions and\n\ # limitations under the License.\n\ \n\ uint8 TYPE_COUNTER=0\n\ uint8 TYPE_GAUGE=1\n\ uint8 TYPE_HISTOGRAM=2\n\ \n\ uint8 type\n\ cartographer_ros_msgs/MetricLabel[] labels\n\ \n\ # TYPE_COUNTER or TYPE_GAUGE\n\ float64 value\n\ \n\ # TYPE_HISTOGRAM\n\ cartographer_ros_msgs/HistogramBucket[] counts_by_bucket\n\ \n\ ================================================================================\n\ MSG: cartographer_ros_msgs/MetricLabel\n\ # 2018 The Cartographer Authors\n\ #\n\ # Licensed under the Apache License, Version 2.0 (the \"License\");\n\ # you may not use this file except in compliance with the License.\n\ # You may obtain a copy of the License at\n\ #\n\ # http://www.apache.org/licenses/LICENSE-2.0\n\ #\n\ # Unless required by applicable law or agreed to in writing, software\n\ # distributed under the License is distributed on an \"AS IS\" BASIS,\n\ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\ # See the License for the specific language governing permissions and\n\ # limitations under the License.\n\ \n\ string key\n\ string value\n\ \n\ ================================================================================\n\ MSG: cartographer_ros_msgs/HistogramBucket\n\ # 2018 The Cartographer Authors\n\ #\n\ # Licensed under the Apache License, Version 2.0 (the \"License\");\n\ # you may not use this file except in compliance with the License.\n\ # You may obtain a copy of the License at\n\ #\n\ # http://www.apache.org/licenses/LICENSE-2.0\n\ #\n\ # Unless required by applicable law or agreed to in writing, software\n\ # distributed under the License is distributed on an \"AS IS\" BASIS,\n\ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\ # See the License for the specific language governing permissions and\n\ # limitations under the License.\n\ \n\ # A histogram bucket counts values x for which:\n\ # previous_boundary < x <= bucket_boundary\n\ # holds.\n\ float64 bucket_boundary\n\ float64 count\n\ "; } static const char* value(const ::cartographer_ros_msgs::Metric_&) { return value(); } }; } // namespace message_traits } // namespace ros namespace ros { namespace serialization { template struct Serializer< ::cartographer_ros_msgs::Metric_ > { template inline static void allInOne(Stream& stream, T m) { stream.next(m.type); stream.next(m.labels); stream.next(m.value); stream.next(m.counts_by_bucket); } ROS_DECLARE_ALLINONE_SERIALIZER }; // struct Metric_ } // namespace serialization } // namespace ros namespace ros { namespace message_operations { template struct Printer< ::cartographer_ros_msgs::Metric_ > { template static void stream(Stream& s, const std::string& indent, const ::cartographer_ros_msgs::Metric_& v) { s << indent << "type: "; Printer::stream(s, indent + " ", v.type); s << indent << "labels[]" << std::endl; for (size_t i = 0; i < v.labels.size(); ++i) { s << indent << " labels[" << i << "]: "; s << std::endl; s << indent; Printer< ::cartographer_ros_msgs::MetricLabel_ >::stream(s, indent + " ", v.labels[i]); } s << indent << "value: "; Printer::stream(s, indent + " ", v.value); s << indent << "counts_by_bucket[]" << std::endl; for (size_t i = 0; i < v.counts_by_bucket.size(); ++i) { s << indent << " counts_by_bucket[" << i << "]: "; s << std::endl; s << indent; Printer< ::cartographer_ros_msgs::HistogramBucket_ >::stream(s, indent + " ", v.counts_by_bucket[i]); } } }; } // namespace message_operations } // namespace ros #endif // CARTOGRAPHER_ROS_MSGS_MESSAGE_METRIC_H