CARLA
CarlaLineInvasion.h
Go to the documentation of this file.
1 // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 /*!
16  * @file CarlaLineInvasion.h
17  * This header file contains the declaration of the described types in the IDL file.
18  *
19  * This file was generated by the tool gen.
20  */
21 
22 #ifndef _FAST_DDS_GENERATED_CARLA_MSGS_MSG_CARLALINEINVASION_H_
23 #define _FAST_DDS_GENERATED_CARLA_MSGS_MSG_CARLALINEINVASION_H_
24 
25 #include "Header.h"
26 
27 #include <fastrtps/utils/fixed_size_string.hpp>
28 
29 #include <stdint.h>
30 #include <array>
31 #include <string>
32 #include <vector>
33 #include <map>
34 #include <bitset>
35 
36 #if defined(_WIN32)
37 #if defined(EPROSIMA_USER_DLL_EXPORT)
38 #define eProsima_user_DllExport __declspec( dllexport )
39 #else
40 #define eProsima_user_DllExport
41 #endif // EPROSIMA_USER_DLL_EXPORT
42 #else
43 #define eProsima_user_DllExport
44 #endif // _WIN32
45 
46 #if defined(_WIN32)
47 #if defined(EPROSIMA_USER_DLL_EXPORT)
48 #if defined(CarlaLineInvasion_SOURCE)
49 #define CarlaLineInvasion_DllAPI __declspec( dllexport )
50 #else
51 #define CarlaLineInvasion_DllAPI __declspec( dllimport )
52 #endif // CarlaLineInvasion_SOURCE
53 #else
54 #define CarlaLineInvasion_DllAPI
55 #endif // EPROSIMA_USER_DLL_EXPORT
56 #else
57 #define CarlaLineInvasion_DllAPI
58 #endif // _WIN32
59 
60 namespace eprosima {
61 namespace fastcdr {
62 class Cdr;
63 } // namespace fastcdr
64 } // namespace eprosima
65 
66 namespace carla_msgs {
67  namespace msg {
68  const int32_t LANE_MARKING_OTHER = 0;
69  const int32_t LANE_MARKING_BROKEN = 1;
70  const int32_t LANE_MARKING_SOLID = 2;
71  /*!
72  * @brief This class represents the structure LaneInvasionEvent defined by the user in the IDL file.
73  * @ingroup CARLALINEINVASION
74  */
76  {
77  public:
78  /*!
79  * @brief Default constructor.
80  */
82 
83  /*!
84  * @brief Default destructor.
85  */
86  eProsima_user_DllExport ~LaneInvasionEvent();
87 
88  /*!
89  * @brief Copy constructor.
90  * @param x Reference to the object carla_msgs::msg::LaneInvasionEvent that will be copied.
91  */
92  eProsima_user_DllExport LaneInvasionEvent(
93  const LaneInvasionEvent& x);
94 
95  /*!
96  * @brief Move constructor.
97  * @param x Reference to the object carla_msgs::msg::LaneInvasionEvent that will be copied.
98  */
99  eProsima_user_DllExport LaneInvasionEvent(
100  LaneInvasionEvent&& x) noexcept;
101 
102  /*!
103  * @brief Copy assignment.
104  * @param x Reference to the object carla_msgs::msg::LaneInvasionEvent that will be copied.
105  */
106  eProsima_user_DllExport LaneInvasionEvent& operator =(
107  const LaneInvasionEvent& x);
108 
109  /*!
110  * @brief Move assignment.
111  * @param x Reference to the object carla_msgs::msg::LaneInvasionEvent that will be copied.
112  */
113  eProsima_user_DllExport LaneInvasionEvent& operator =(
114  LaneInvasionEvent&& x) noexcept;
115 
116  /*!
117  * @brief Comparison operator.
118  * @param x carla_msgs::msg::LaneInvasionEvent object to compare.
119  */
121  const LaneInvasionEvent& x) const;
122 
123  /*!
124  * @brief Comparison operator.
125  * @param x carla_msgs::msg::LaneInvasionEvent object to compare.
126  */
128  const LaneInvasionEvent& x) const;
129 
130  /*!
131  * @brief This function copies the value in member header
132  * @param _header New value to be copied in member header
133  */
134  eProsima_user_DllExport void header(
135  const std_msgs::msg::Header& _header);
136 
137  /*!
138  * @brief This function moves the value in member header
139  * @param _header New value to be moved in member header
140  */
141  eProsima_user_DllExport void header(
142  std_msgs::msg::Header&& _header);
143 
144  /*!
145  * @brief This function returns a constant reference to member header
146  * @return Constant reference to member header
147  */
148  eProsima_user_DllExport const std_msgs::msg::Header& header() const;
149 
150  /*!
151  * @brief This function returns a reference to member header
152  * @return Reference to member header
153  */
155  /*!
156  * @brief This function copies the value in member crossed_lane_markings
157  * @param _crossed_lane_markings New value to be copied in member crossed_lane_markings
158  */
159  eProsima_user_DllExport void crossed_lane_markings(
160  const std::vector<int32_t>& _crossed_lane_markings);
161 
162  /*!
163  * @brief This function moves the value in member crossed_lane_markings
164  * @param _crossed_lane_markings New value to be moved in member crossed_lane_markings
165  */
166  eProsima_user_DllExport void crossed_lane_markings(
167  std::vector<int32_t>&& _crossed_lane_markings);
168 
169  /*!
170  * @brief This function returns a constant reference to member crossed_lane_markings
171  * @return Constant reference to member crossed_lane_markings
172  */
173  eProsima_user_DllExport const std::vector<int32_t>& crossed_lane_markings() const;
174 
175  /*!
176  * @brief This function returns a reference to member crossed_lane_markings
177  * @return Reference to member crossed_lane_markings
178  */
179  eProsima_user_DllExport std::vector<int32_t>& crossed_lane_markings();
180 
181  /*!
182  * @brief This function returns the maximum serialized size of an object
183  * depending on the buffer alignment.
184  * @param current_alignment Buffer alignment.
185  * @return Maximum serialized size.
186  */
187  eProsima_user_DllExport static size_t getMaxCdrSerializedSize(
188  size_t current_alignment = 0);
189 
190  /*!
191  * @brief This function returns the serialized size of a data depending on the buffer alignment.
192  * @param data Data which is calculated its serialized size.
193  * @param current_alignment Buffer alignment.
194  * @return Serialized size.
195  */
196  eProsima_user_DllExport static size_t getCdrSerializedSize(
198  size_t current_alignment = 0);
199 
200  /*!
201  * @brief This function serializes an object using CDR serialization.
202  * @param cdr CDR serialization object.
203  */
204  eProsima_user_DllExport void serialize(
205  eprosima::fastcdr::Cdr& cdr) const;
206 
207  /*!
208  * @brief This function deserializes an object using CDR serialization.
209  * @param cdr CDR serialization object.
210  */
211  eProsima_user_DllExport void deserialize(
212  eprosima::fastcdr::Cdr& cdr);
213 
214  /*!
215  * @brief This function returns the maximum serialized size of the Key of an object
216  * depending on the buffer alignment.
217  * @param current_alignment Buffer alignment.
218  * @return Maximum serialized size.
219  */
220  eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(
221  size_t current_alignment = 0);
222 
223  /*!
224  * @brief This function tells you if the Key has been defined for this type
225  */
226  eProsima_user_DllExport static bool isKeyDefined();
227 
228  /*!
229  * @brief This function serializes the key members of an object using CDR serialization.
230  * @param cdr CDR serialization object.
231  */
232  eProsima_user_DllExport void serializeKey(
233  eprosima::fastcdr::Cdr& cdr) const;
234 
235  private:
237  std::vector<int32_t> m_crossed_lane_markings;
238  };
239  } // namespace msg
240 } // namespace carla_msgs
241 
242 #endif // _FAST_DDS_GENERATED_CARLA_MSGS_MSG_CARLALINEINVASION_H_
const int32_t LANE_MARKING_OTHER
This class represents the structure LaneInvasionEvent defined by the user in the IDL file...
bool operator==(const Waypoint &lhs, const Waypoint &rhs)
This class represents the structure Header defined by the user in the IDL file.
Definition: Header.h:72
#define eProsima_user_DllExport
const int32_t LANE_MARKING_BROKEN
std::vector< int32_t > m_crossed_lane_markings
const int32_t LANE_MARKING_SOLID
bool operator!=(const Waypoint &lhs, const Waypoint &rhs)