// Generated by gencpp from file sensor_msgs/ChannelFloat32.msg // DO NOT EDIT! #ifndef SENSOR_MSGS_MESSAGE_CHANNELFLOAT32_H #define SENSOR_MSGS_MESSAGE_CHANNELFLOAT32_H #include #include #include #include #include #include #include namespace sensor_msgs { template struct ChannelFloat32_ { typedef ChannelFloat32_ Type; ChannelFloat32_() : name() , values() { } ChannelFloat32_(const ContainerAllocator& _alloc) : name(_alloc) , values(_alloc) { (void)_alloc; } typedef std::basic_string, typename std::allocator_traits::template rebind_alloc> _name_type; _name_type name; typedef std::vector::template rebind_alloc> _values_type; _values_type values; typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32_ > Ptr; typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32_ const> ConstPtr; }; // struct ChannelFloat32_ typedef ::sensor_msgs::ChannelFloat32_ > ChannelFloat32; typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32 > ChannelFloat32Ptr; typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32 const> ChannelFloat32ConstPtr; // constants requiring out of line definition template std::ostream& operator<<(std::ostream& s, const ::sensor_msgs::ChannelFloat32_ & v) { ros::message_operations::Printer< ::sensor_msgs::ChannelFloat32_ >::stream(s, "", v); return s; } template bool operator==(const ::sensor_msgs::ChannelFloat32_ & lhs, const ::sensor_msgs::ChannelFloat32_ & rhs) { return lhs.name == rhs.name && lhs.values == rhs.values; } template bool operator!=(const ::sensor_msgs::ChannelFloat32_ & lhs, const ::sensor_msgs::ChannelFloat32_ & rhs) { return !(lhs == rhs); } } // namespace sensor_msgs namespace ros { namespace message_traits { template struct IsMessage< ::sensor_msgs::ChannelFloat32_ > : TrueType { }; template struct IsMessage< ::sensor_msgs::ChannelFloat32_ const> : TrueType { }; template struct IsFixedSize< ::sensor_msgs::ChannelFloat32_ > : FalseType { }; template struct IsFixedSize< ::sensor_msgs::ChannelFloat32_ const> : FalseType { }; template struct HasHeader< ::sensor_msgs::ChannelFloat32_ > : FalseType { }; template struct HasHeader< ::sensor_msgs::ChannelFloat32_ const> : FalseType { }; template struct MD5Sum< ::sensor_msgs::ChannelFloat32_ > { static const char* value() { return "3d40139cdd33dfedcb71ffeeeb42ae7f"; } static const char* value(const ::sensor_msgs::ChannelFloat32_&) { return value(); } static const uint64_t static_value1 = 0x3d40139cdd33dfedULL; static const uint64_t static_value2 = 0xcb71ffeeeb42ae7fULL; }; template struct DataType< ::sensor_msgs::ChannelFloat32_ > { static const char* value() { return "sensor_msgs/ChannelFloat32"; } static const char* value(const ::sensor_msgs::ChannelFloat32_&) { return value(); } }; template struct Definition< ::sensor_msgs::ChannelFloat32_ > { static const char* value() { return "# This message is used by the PointCloud message to hold optional data\n" "# associated with each point in the cloud. The length of the values\n" "# array should be the same as the length of the points array in the\n" "# PointCloud, and each value should be associated with the corresponding\n" "# point.\n" "\n" "# Channel names in existing practice include:\n" "# \"u\", \"v\" - row and column (respectively) in the left stereo image.\n" "# This is opposite to usual conventions but remains for\n" "# historical reasons. The newer PointCloud2 message has no\n" "# such problem.\n" "# \"rgb\" - For point clouds produced by color stereo cameras. uint8\n" "# (R,G,B) values packed into the least significant 24 bits,\n" "# in order.\n" "# \"intensity\" - laser or pixel intensity.\n" "# \"distance\"\n" "\n" "# The channel name should give semantics of the channel (e.g.\n" "# \"intensity\" instead of \"value\").\n" "string name\n" "\n" "# The values array should be 1-1 with the elements of the associated\n" "# PointCloud.\n" "float32[] values\n" ; } static const char* value(const ::sensor_msgs::ChannelFloat32_&) { return value(); } }; } // namespace message_traits } // namespace ros namespace ros { namespace serialization { template struct Serializer< ::sensor_msgs::ChannelFloat32_ > { template inline static void allInOne(Stream& stream, T m) { stream.next(m.name); stream.next(m.values); } ROS_DECLARE_ALLINONE_SERIALIZER }; // struct ChannelFloat32_ } // namespace serialization } // namespace ros namespace ros { namespace message_operations { template struct Printer< ::sensor_msgs::ChannelFloat32_ > { template static void stream(Stream& s, const std::string& indent, const ::sensor_msgs::ChannelFloat32_& v) { s << indent << "name: "; Printer, typename std::allocator_traits::template rebind_alloc>>::stream(s, indent + " ", v.name); s << indent << "values[]" << std::endl; for (size_t i = 0; i < v.values.size(); ++i) { s << indent << " values[" << i << "]: "; Printer::stream(s, indent + " ", v.values[i]); } } }; } // namespace message_operations } // namespace ros #endif // SENSOR_MSGS_MESSAGE_CHANNELFLOAT32_H