Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef UCL_DRONE_MESSAGE_DRONEROLE_H
00006 #define UCL_DRONE_MESSAGE_DRONEROLE_H
00007
00008
00009 #include <string>
00010 #include <vector>
00011 #include <map>
00012
00013 #include <ros/types.h>
00014 #include <ros/serialization.h>
00015 #include <ros/builtin_message_traits.h>
00016 #include <ros/message_operations.h>
00017
00018
00019 namespace ucl_drone
00020 {
00021 template <class ContainerAllocator>
00022 struct DroneRole_
00023 {
00024 typedef DroneRole_<ContainerAllocator> Type;
00025
00026 DroneRole_()
00027 : name()
00028 , role(0.0)
00029 , params() {
00030 }
00031 DroneRole_(const ContainerAllocator& _alloc)
00032 : name(_alloc)
00033 , role(0.0)
00034 , params(_alloc) {
00035 (void)_alloc;
00036 }
00037
00038
00039
00040 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type;
00041 _name_type name;
00042
00043 typedef double _role_type;
00044 _role_type role;
00045
00046 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _params_type;
00047 _params_type params;
00048
00049
00050
00051
00052 typedef boost::shared_ptr< ::ucl_drone::DroneRole_<ContainerAllocator> > Ptr;
00053 typedef boost::shared_ptr< ::ucl_drone::DroneRole_<ContainerAllocator> const> ConstPtr;
00054
00055 };
00056
00057 typedef ::ucl_drone::DroneRole_<std::allocator<void> > DroneRole;
00058
00059 typedef boost::shared_ptr< ::ucl_drone::DroneRole > DroneRolePtr;
00060 typedef boost::shared_ptr< ::ucl_drone::DroneRole const> DroneRoleConstPtr;
00061
00062
00063
00064
00065
00066 template<typename ContainerAllocator>
00067 std::ostream& operator<<(std::ostream& s, const ::ucl_drone::DroneRole_<ContainerAllocator> & v)
00068 {
00069 ros::message_operations::Printer< ::ucl_drone::DroneRole_<ContainerAllocator> >::stream(s, "", v);
00070 return s;
00071 }
00072
00073 }
00074
00075 namespace ros
00076 {
00077 namespace message_traits
00078 {
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090 template <class ContainerAllocator>
00091 struct IsFixedSize< ::ucl_drone::DroneRole_<ContainerAllocator> >
00092 : FalseType
00093 { };
00094
00095 template <class ContainerAllocator>
00096 struct IsFixedSize< ::ucl_drone::DroneRole_<ContainerAllocator> const>
00097 : FalseType
00098 { };
00099
00100 template <class ContainerAllocator>
00101 struct IsMessage< ::ucl_drone::DroneRole_<ContainerAllocator> >
00102 : TrueType
00103 { };
00104
00105 template <class ContainerAllocator>
00106 struct IsMessage< ::ucl_drone::DroneRole_<ContainerAllocator> const>
00107 : TrueType
00108 { };
00109
00110 template <class ContainerAllocator>
00111 struct HasHeader< ::ucl_drone::DroneRole_<ContainerAllocator> >
00112 : FalseType
00113 { };
00114
00115 template <class ContainerAllocator>
00116 struct HasHeader< ::ucl_drone::DroneRole_<ContainerAllocator> const>
00117 : FalseType
00118 { };
00119
00120
00121 template<class ContainerAllocator>
00122 struct MD5Sum< ::ucl_drone::DroneRole_<ContainerAllocator> >
00123 {
00124 static const char* value()
00125 {
00126 return "aa46bcf5f74539f0bbc0ce8ce5b59675";
00127 }
00128
00129 static const char* value(const ::ucl_drone::DroneRole_<ContainerAllocator>&) { return value(); }
00130 static const uint64_t static_value1 = 0xaa46bcf5f74539f0ULL;
00131 static const uint64_t static_value2 = 0xbbc0ce8ce5b59675ULL;
00132 };
00133
00134 template<class ContainerAllocator>
00135 struct DataType< ::ucl_drone::DroneRole_<ContainerAllocator> >
00136 {
00137 static const char* value()
00138 {
00139 return "ucl_drone/DroneRole";
00140 }
00141
00142 static const char* value(const ::ucl_drone::DroneRole_<ContainerAllocator>&) { return value(); }
00143 };
00144
00145 template<class ContainerAllocator>
00146 struct Definition< ::ucl_drone::DroneRole_<ContainerAllocator> >
00147 {
00148 static const char* value()
00149 {
00150 return "\n\
00151 # This message contains the object drone role, formulated by the multi-agent\n\
00152 # strategy and read by each drone's IA.\n\
00153 \n\
00154 # Drone name\n\
00155 string name\n\
00156 \n\
00157 # Role code\n\
00158 float64 role\n\
00159 \n\
00160 # List of input-output topic names. Refer to the role code for convention about\n\
00161 # the specific use of each field\n\
00162 string[] params\n\
00163 ";
00164 }
00165
00166 static const char* value(const ::ucl_drone::DroneRole_<ContainerAllocator>&) { return value(); }
00167 };
00168
00169 }
00170 }
00171
00172 namespace ros
00173 {
00174 namespace serialization
00175 {
00176
00177 template<class ContainerAllocator> struct Serializer< ::ucl_drone::DroneRole_<ContainerAllocator> >
00178 {
00179 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00180 {
00181 stream.next(m.name);
00182 stream.next(m.role);
00183 stream.next(m.params);
00184 }
00185
00186 ROS_DECLARE_ALLINONE_SERIALIZER
00187 };
00188
00189 }
00190 }
00191
00192 namespace ros
00193 {
00194 namespace message_operations
00195 {
00196
00197 template<class ContainerAllocator>
00198 struct Printer< ::ucl_drone::DroneRole_<ContainerAllocator> >
00199 {
00200 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ucl_drone::DroneRole_<ContainerAllocator>& v)
00201 {
00202 s << indent << "name: ";
00203 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name);
00204 s << indent << "role: ";
00205 Printer<double>::stream(s, indent + " ", v.role);
00206 s << indent << "params[]" << std::endl;
00207 for (size_t i = 0; i < v.params.size(); ++i)
00208 {
00209 s << indent << " params[" << i << "]: ";
00210 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.params[i]);
00211 }
00212 }
00213 };
00214
00215 }
00216 }
00217
00218 #endif // UCL_DRONE_MESSAGE_DRONEROLE_H