Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef UCL_DRONE_MESSAGE_DRONEROLES_H
00006 #define UCL_DRONE_MESSAGE_DRONEROLES_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 #include <ucl_drone/DroneRole.h>
00019
00020 namespace ucl_drone
00021 {
00022 template <class ContainerAllocator>
00023 struct DroneRoles_
00024 {
00025 typedef DroneRoles_<ContainerAllocator> Type;
00026
00027 DroneRoles_()
00028 : roles() {
00029 }
00030 DroneRoles_(const ContainerAllocator& _alloc)
00031 : roles(_alloc) {
00032 (void)_alloc;
00033 }
00034
00035
00036
00037 typedef std::vector< ::ucl_drone::DroneRole_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ucl_drone::DroneRole_<ContainerAllocator> >::other > _roles_type;
00038 _roles_type roles;
00039
00040
00041
00042
00043 typedef boost::shared_ptr< ::ucl_drone::DroneRoles_<ContainerAllocator> > Ptr;
00044 typedef boost::shared_ptr< ::ucl_drone::DroneRoles_<ContainerAllocator> const> ConstPtr;
00045
00046 };
00047
00048 typedef ::ucl_drone::DroneRoles_<std::allocator<void> > DroneRoles;
00049
00050 typedef boost::shared_ptr< ::ucl_drone::DroneRoles > DroneRolesPtr;
00051 typedef boost::shared_ptr< ::ucl_drone::DroneRoles const> DroneRolesConstPtr;
00052
00053
00054
00055
00056
00057 template<typename ContainerAllocator>
00058 std::ostream& operator<<(std::ostream& s, const ::ucl_drone::DroneRoles_<ContainerAllocator> & v)
00059 {
00060 ros::message_operations::Printer< ::ucl_drone::DroneRoles_<ContainerAllocator> >::stream(s, "", v);
00061 return s;
00062 }
00063
00064 }
00065
00066 namespace ros
00067 {
00068 namespace message_traits
00069 {
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 template <class ContainerAllocator>
00082 struct IsFixedSize< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00083 : FalseType
00084 { };
00085
00086 template <class ContainerAllocator>
00087 struct IsFixedSize< ::ucl_drone::DroneRoles_<ContainerAllocator> const>
00088 : FalseType
00089 { };
00090
00091 template <class ContainerAllocator>
00092 struct IsMessage< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00093 : TrueType
00094 { };
00095
00096 template <class ContainerAllocator>
00097 struct IsMessage< ::ucl_drone::DroneRoles_<ContainerAllocator> const>
00098 : TrueType
00099 { };
00100
00101 template <class ContainerAllocator>
00102 struct HasHeader< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00103 : FalseType
00104 { };
00105
00106 template <class ContainerAllocator>
00107 struct HasHeader< ::ucl_drone::DroneRoles_<ContainerAllocator> const>
00108 : FalseType
00109 { };
00110
00111
00112 template<class ContainerAllocator>
00113 struct MD5Sum< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00114 {
00115 static const char* value()
00116 {
00117 return "28014a7bc2067361e079b10f5ccfb8ba";
00118 }
00119
00120 static const char* value(const ::ucl_drone::DroneRoles_<ContainerAllocator>&) { return value(); }
00121 static const uint64_t static_value1 = 0x28014a7bc2067361ULL;
00122 static const uint64_t static_value2 = 0xe079b10f5ccfb8baULL;
00123 };
00124
00125 template<class ContainerAllocator>
00126 struct DataType< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00127 {
00128 static const char* value()
00129 {
00130 return "ucl_drone/DroneRoles";
00131 }
00132
00133 static const char* value(const ::ucl_drone::DroneRoles_<ContainerAllocator>&) { return value(); }
00134 };
00135
00136 template<class ContainerAllocator>
00137 struct Definition< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00138 {
00139 static const char* value()
00140 {
00141 return "\n\
00142 # This message contains a list of all the current drone roles, formulated by the\n\
00143 # multi-agent strategy and read by each drone's IA.\n\
00144 \n\
00145 # Role list\n\
00146 ucl_drone/DroneRole[] roles\n\
00147 \n\
00148 ================================================================================\n\
00149 MSG: ucl_drone/DroneRole\n\
00150 \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::DroneRoles_<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::DroneRoles_<ContainerAllocator> >
00178 {
00179 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00180 {
00181 stream.next(m.roles);
00182 }
00183
00184 ROS_DECLARE_ALLINONE_SERIALIZER
00185 };
00186
00187 }
00188 }
00189
00190 namespace ros
00191 {
00192 namespace message_operations
00193 {
00194
00195 template<class ContainerAllocator>
00196 struct Printer< ::ucl_drone::DroneRoles_<ContainerAllocator> >
00197 {
00198 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ucl_drone::DroneRoles_<ContainerAllocator>& v)
00199 {
00200 s << indent << "roles[]" << std::endl;
00201 for (size_t i = 0; i < v.roles.size(); ++i)
00202 {
00203 s << indent << " roles[" << i << "]: ";
00204 s << std::endl;
00205 s << indent;
00206 Printer< ::ucl_drone::DroneRole_<ContainerAllocator> >::stream(s, indent + " ", v.roles[i]);
00207 }
00208 }
00209 };
00210
00211 }
00212 }
00213
00214 #endif // UCL_DRONE_MESSAGE_DRONEROLES_H