// Generated by gencpp from file std_msgs/ByteMultiArray.msg // DO NOT EDIT! #ifndef STD_MSGS_MESSAGE_BYTEMULTIARRAY_H #define STD_MSGS_MESSAGE_BYTEMULTIARRAY_H #include #include #include #include #include #include #include namespace std_msgs { template struct ByteMultiArray_ { typedef ByteMultiArray_ Type; ByteMultiArray_() : layout() , data() { } ByteMultiArray_(const ContainerAllocator& _alloc) : layout(_alloc) , data(_alloc) { (void)_alloc; } typedef ::std_msgs::MultiArrayLayout_ _layout_type; _layout_type layout; typedef std::vector::other > _data_type; _data_type data; typedef boost::shared_ptr< ::std_msgs::ByteMultiArray_ > Ptr; typedef boost::shared_ptr< ::std_msgs::ByteMultiArray_ const> ConstPtr; }; // struct ByteMultiArray_ typedef ::std_msgs::ByteMultiArray_ > ByteMultiArray; typedef boost::shared_ptr< ::std_msgs::ByteMultiArray > ByteMultiArrayPtr; typedef boost::shared_ptr< ::std_msgs::ByteMultiArray const> ByteMultiArrayConstPtr; // constants requiring out of line definition template std::ostream& operator<<(std::ostream& s, const ::std_msgs::ByteMultiArray_ & v) { ros::message_operations::Printer< ::std_msgs::ByteMultiArray_ >::stream(s, "", v); return s; } template bool operator==(const ::std_msgs::ByteMultiArray_ & lhs, const ::std_msgs::ByteMultiArray_ & rhs) { return lhs.layout == rhs.layout && lhs.data == rhs.data; } template bool operator!=(const ::std_msgs::ByteMultiArray_ & lhs, const ::std_msgs::ByteMultiArray_ & rhs) { return !(lhs == rhs); } } // namespace std_msgs namespace ros { namespace message_traits { template struct IsMessage< ::std_msgs::ByteMultiArray_ > : TrueType { }; template struct IsMessage< ::std_msgs::ByteMultiArray_ const> : TrueType { }; template struct IsFixedSize< ::std_msgs::ByteMultiArray_ > : FalseType { }; template struct IsFixedSize< ::std_msgs::ByteMultiArray_ const> : FalseType { }; template struct HasHeader< ::std_msgs::ByteMultiArray_ > : FalseType { }; template struct HasHeader< ::std_msgs::ByteMultiArray_ const> : FalseType { }; template struct MD5Sum< ::std_msgs::ByteMultiArray_ > { static const char* value() { return "70ea476cbcfd65ac2f68f3cda1e891fe"; } static const char* value(const ::std_msgs::ByteMultiArray_&) { return value(); } static const uint64_t static_value1 = 0x70ea476cbcfd65acULL; static const uint64_t static_value2 = 0x2f68f3cda1e891feULL; }; template struct DataType< ::std_msgs::ByteMultiArray_ > { static const char* value() { return "std_msgs/ByteMultiArray"; } static const char* value(const ::std_msgs::ByteMultiArray_&) { return value(); } }; template struct Definition< ::std_msgs::ByteMultiArray_ > { static const char* value() { return "# Please look at the MultiArrayLayout message definition for\n" "# documentation on all multiarrays.\n" "\n" "MultiArrayLayout layout # specification of data layout\n" "byte[] data # array of data\n" "\n" "\n" "================================================================================\n" "MSG: std_msgs/MultiArrayLayout\n" "# The multiarray declares a generic multi-dimensional array of a\n" "# particular data type. Dimensions are ordered from outer most\n" "# to inner most.\n" "\n" "MultiArrayDimension[] dim # Array of dimension properties\n" "uint32 data_offset # padding elements at front of data\n" "\n" "# Accessors should ALWAYS be written in terms of dimension stride\n" "# and specified outer-most dimension first.\n" "# \n" "# multiarray(i,j,k) = data[data_offset + dim_stride[1]*i + dim_stride[2]*j + k]\n" "#\n" "# A standard, 3-channel 640x480 image with interleaved color channels\n" "# would be specified as:\n" "#\n" "# dim[0].label = \"height\"\n" "# dim[0].size = 480\n" "# dim[0].stride = 3*640*480 = 921600 (note dim[0] stride is just size of image)\n" "# dim[1].label = \"width\"\n" "# dim[1].size = 640\n" "# dim[1].stride = 3*640 = 1920\n" "# dim[2].label = \"channel\"\n" "# dim[2].size = 3\n" "# dim[2].stride = 3\n" "#\n" "# multiarray(i,j,k) refers to the ith row, jth column, and kth channel.\n" "\n" "================================================================================\n" "MSG: std_msgs/MultiArrayDimension\n" "string label # label of given dimension\n" "uint32 size # size of given dimension (in type units)\n" "uint32 stride # stride of given dimension\n" ; } static const char* value(const ::std_msgs::ByteMultiArray_&) { return value(); } }; } // namespace message_traits } // namespace ros namespace ros { namespace serialization { template struct Serializer< ::std_msgs::ByteMultiArray_ > { template inline static void allInOne(Stream& stream, T m) { stream.next(m.layout); stream.next(m.data); } ROS_DECLARE_ALLINONE_SERIALIZER }; // struct ByteMultiArray_ } // namespace serialization } // namespace ros namespace ros { namespace message_operations { template struct Printer< ::std_msgs::ByteMultiArray_ > { template static void stream(Stream& s, const std::string& indent, const ::std_msgs::ByteMultiArray_& v) { s << indent << "layout: "; s << std::endl; Printer< ::std_msgs::MultiArrayLayout_ >::stream(s, indent + " ", v.layout); s << indent << "data[]" << std::endl; for (size_t i = 0; i < v.data.size(); ++i) { s << indent << " data[" << i << "]: "; Printer::stream(s, indent + " ", v.data[i]); } } }; } // namespace message_operations } // namespace ros #endif // STD_MSGS_MESSAGE_BYTEMULTIARRAY_H