CARLA
Clock.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 Clock.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_ROSGRAPH_MSG_CLOCK_H_
23 #define _FAST_DDS_GENERATED_ROSGRAPH_MSG_CLOCK_H_
24 
25 #include "Time.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(CLOCK_SOURCE)
49 #define CLOCK_DllAPI __declspec( dllexport )
50 #else
51 #define CLOCK_DllAPI __declspec( dllimport )
52 #endif // CLOCK_SOURCE
53 #else
54 #define CLOCK_DllAPI
55 #endif // EPROSIMA_USER_DLL_EXPORT
56 #else
57 #define CLOCK_DllAPI
58 #endif // _WIN32
59 
60 namespace eprosima {
61 namespace fastcdr {
62 class Cdr;
63 } // namespace fastcdr
64 } // namespace eprosima
65 
66 namespace rosgraph {
67  namespace msg {
68  /*!
69  * @brief This class represents the structure Clock defined by the user in the IDL file.
70  * @ingroup Clock
71  */
72  class Clock
73  {
74  public:
75 
76  /*!
77  * @brief Default constructor.
78  */
80 
81  /*!
82  * @brief Default destructor.
83  */
84  eProsima_user_DllExport ~Clock();
85 
86  /*!
87  * @brief Copy constructor.
88  * @param x Reference to the object rosgraph::msg::Clock that will be copied.
89  */
91  const Clock& x);
92 
93  /*!
94  * @brief Move constructor.
95  * @param x Reference to the object rosgraph::msg::Clock that will be copied.
96  */
98  Clock&& x) noexcept;
99 
100  /*!
101  * @brief Copy assignment.
102  * @param x Reference to the object rosgraph::msg::Clock that will be copied.
103  */
104  eProsima_user_DllExport Clock& operator =(
105  const Clock& x);
106 
107  /*!
108  * @brief Move assignment.
109  * @param x Reference to the object rosgraph::msg::Clock that will be copied.
110  */
111  eProsima_user_DllExport Clock& operator =(
112  Clock&& x) noexcept;
113 
114  /*!
115  * @brief Comparison operator.
116  * @param x rosgraph::msg::Clock object to compare.
117  */
119  const Clock& x) const;
120 
121  /*!
122  * @brief Comparison operator.
123  * @param x rosgraph::msg::Clock object to compare.
124  */
126  const Clock& x) const;
127 
128  /*!
129  * @brief This function copies the value in member clock
130  * @param _clock New value to be copied in member clock
131  */
132  eProsima_user_DllExport void clock(
133  const builtin_interfaces::msg::Time& _clock);
134 
135  /*!
136  * @brief This function moves the value in member clock
137  * @param _clock New value to be moved in member clock
138  */
139  eProsima_user_DllExport void clock(
141 
142  /*!
143  * @brief This function returns a constant reference to member clock
144  * @return Constant reference to member clock
145  */
147 
148  /*!
149  * @brief This function returns a reference to member clock
150  * @return Reference to member clock
151  */
153 
154  /*!
155  * @brief This function returns the maximum serialized size of an object
156  * depending on the buffer alignment.
157  * @param current_alignment Buffer alignment.
158  * @return Maximum serialized size.
159  */
160  eProsima_user_DllExport static size_t getMaxCdrSerializedSize(
161  size_t current_alignment = 0);
162 
163  /*!
164  * @brief This function returns the serialized size of a data depending on the buffer alignment.
165  * @param data Data which is calculated its serialized size.
166  * @param current_alignment Buffer alignment.
167  * @return Serialized size.
168  */
169  eProsima_user_DllExport static size_t getCdrSerializedSize(
170  const rosgraph::msg::Clock& data,
171  size_t current_alignment = 0);
172 
173  /*!
174  * @brief This function serializes an object using CDR serialization.
175  * @param cdr CDR serialization object.
176  */
177  eProsima_user_DllExport void serialize(
178  eprosima::fastcdr::Cdr& cdr) const;
179 
180  /*!
181  * @brief This function deserializes an object using CDR serialization.
182  * @param cdr CDR serialization object.
183  */
184  eProsima_user_DllExport void deserialize(
185  eprosima::fastcdr::Cdr& cdr);
186 
187  /*!
188  * @brief This function returns the maximum serialized size of the Key of an object
189  * depending on the buffer alignment.
190  * @param current_alignment Buffer alignment.
191  * @return Maximum serialized size.
192  */
193  eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(
194  size_t current_alignment = 0);
195 
196  /*!
197  * @brief This function tells you if the Key has been defined for this type
198  */
199  eProsima_user_DllExport static bool isKeyDefined();
200 
201  /*!
202  * @brief This function serializes the key members of an object using CDR serialization.
203  * @param cdr CDR serialization object.
204  */
205  eProsima_user_DllExport void serializeKey(
206  eprosima::fastcdr::Cdr& cdr) const;
207 
208  private:
210  };
211  } // namespace msg
212 } // namespace rosgraph
213 
214 #endif // _FAST_DDS_GENERATED_ROSGRAPH_MSG_CLOCK_H_
#define eProsima_user_DllExport
Definition: Clock.h:43
bool operator==(const Waypoint &lhs, const Waypoint &rhs)
Definition: Clock.h:66
bool operator!=(const Waypoint &lhs, const Waypoint &rhs)
This class represents the structure Clock defined by the user in the IDL file.
Definition: Clock.h:72
This class represents the structure Time defined by the user in the IDL file.
builtin_interfaces::msg::Time m_clock
Definition: Clock.h:209