@@ -159,22 +159,27 @@ template <typename T>
159
159
struct PublisherVariablesMessageTypeExtractor ;
160
160
161
161
template <typename MessageType>
162
- struct PublisherVariablesMessageTypeExtractor <PublisherVariables<MessageType>> {
162
+ struct PublisherVariablesMessageTypeExtractor <PublisherVariables<MessageType>>
163
+ {
163
164
using Type = MessageType;
164
165
};
165
166
166
- template <typename T, typename = std::void_t <>>
167
- struct has_header : std::false_type {};
168
-
169
- template <typename T>
170
- struct has_header <T, std::void_t <decltype(T::header)>> : std::true_type {};
171
-
167
+ template <typename T, typename = std::void_t <>>
168
+ struct has_header : std::false_type
169
+ {
170
+ };
172
171
173
- struct PublisherVarAccessor {
172
+ template <typename T>
173
+ struct has_header <T, std::void_t <decltype(T::header)>> : std::true_type
174
+ {
175
+ };
174
176
177
+ struct PublisherVarAccessor
178
+ {
175
179
// Method to set header time if available
176
180
template <typename T>
177
- void setHeaderTimeIfAvailable (T& publisherVar, const rclcpp::Time& time) {
181
+ void setHeaderTimeIfAvailable (T & publisherVar, const rclcpp::Time & time)
182
+ {
178
183
if constexpr (has_header<typename T::MessageType>::value) {
179
184
if (publisherVar.empty_area_message ) {
180
185
publisherVar.empty_area_message ->header .stamp = time ;
@@ -187,66 +192,76 @@ struct PublisherVarAccessor {
187
192
188
193
// Set Period
189
194
template <typename T>
190
- void setPeriod (T& publisherVar, double newPeriod) {
195
+ void setPeriod (T & publisherVar, double newPeriod)
196
+ {
191
197
publisherVar.period_ns = newPeriod;
192
198
}
193
199
194
200
// Get Period
195
201
template <typename T>
196
- double getPeriod (const T& publisherVar) const {
202
+ double getPeriod (const T & publisherVar) const
203
+ {
197
204
return publisherVar.period_ns ;
198
205
}
199
206
200
207
// Set Empty Area Message
201
208
template <typename T, typename Message>
202
- void setEmptyAreaMessage (T& publisherVar, typename Message::SharedPtr message) {
209
+ void setEmptyAreaMessage (T & publisherVar, typename Message::SharedPtr message)
210
+ {
203
211
publisherVar.empty_area_message = message;
204
212
}
205
213
206
214
// Get Empty Area Message
207
215
template <typename T>
208
- std::shared_ptr<void > getEmptyAreaMessage (const T& publisherVar) const {
216
+ std::shared_ptr<void > getEmptyAreaMessage (const T & publisherVar) const
217
+ {
209
218
return std::static_pointer_cast<void >(publisherVar.empty_area_message );
210
219
}
211
220
212
221
// Set Object Spawned Message
213
222
template <typename T, typename Message>
214
- void setObjectSpawnedMessage (T& publisherVar, typename Message::SharedPtr message) {
223
+ void setObjectSpawnedMessage (T & publisherVar, typename Message::SharedPtr message)
224
+ {
215
225
publisherVar.object_spawned_message = message;
216
226
}
217
227
218
228
// Get Object Spawned Message
219
229
template <typename T>
220
- std::shared_ptr<void > getObjectSpawnedMessage (const T& publisherVar) const {
230
+ std::shared_ptr<void > getObjectSpawnedMessage (const T & publisherVar) const
231
+ {
221
232
return std::static_pointer_cast<void >(publisherVar.object_spawned_message );
222
233
}
223
234
224
235
// Set Publisher
225
236
template <typename T, typename PublisherType>
226
- void setPublisher (T& publisherVar, typename rclcpp::Publisher<PublisherType>::SharedPtr publisher) {
237
+ void setPublisher (
238
+ T & publisherVar, typename rclcpp::Publisher<PublisherType>::SharedPtr publisher)
239
+ {
227
240
publisherVar.publisher = publisher;
228
241
}
229
242
230
243
// Get Publisher
231
244
template <typename T>
232
- std::shared_ptr<void > getPublisher (const T& publisherVar) const {
245
+ std::shared_ptr<void > getPublisher (const T & publisherVar) const
246
+ {
233
247
return std::static_pointer_cast<void >(publisherVar.publisher );
234
248
}
235
249
236
250
// Set Timer
237
251
template <typename T>
238
- void setTimer (T& publisherVar, rclcpp::TimerBase::SharedPtr newTimer) {
252
+ void setTimer (T & publisherVar, rclcpp::TimerBase::SharedPtr newTimer)
253
+ {
239
254
publisherVar.timer = newTimer;
240
255
}
241
256
242
257
// Get Timer
243
258
template <typename T>
244
- std::shared_ptr<void > getTimer (const T& publisherVar) const {
259
+ std::shared_ptr<void > getTimer (const T & publisherVar) const
260
+ {
245
261
return std::static_pointer_cast<void >(publisherVar.timer );
246
262
}
247
263
};
248
264
249
-
250
265
using PublisherVariablesVariant = std::variant<
251
266
PublisherVariables<PointCloud2>, PublisherVariables<sensor_msgs::msg::CameraInfo>,
252
267
PublisherVariables<sensor_msgs::msg::Image>,
0 commit comments