CARLA
 
载入中...
搜索中...
未找到
QuaternionPubSubTypes.h
浏览该文件的文档.
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 QuaternionPubSubTypes.h
17 * This header file contains the declaration of the serialization functions.
18 *
19 * This file was generated by the tool fastcdrgen.
20 */
21
22#ifndef _FAST_DDS_GENERATED_GEOMETRY_MSGS_MSG_QUATERNION_PUBSUBTYPES_H_
23#define _FAST_DDS_GENERATED_GEOMETRY_MSGS_MSG_QUATERNION_PUBSUBTYPES_H_
24
25#include <fastdds/dds/topic/TopicDataType.hpp>
26#include <fastrtps/utils/md5.h>
27
28#include "Quaternion.h"
29
30#if !defined(GEN_API_VER) || (GEN_API_VER != 1)
31#error \
32 Generated Quaternion is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen.
33#endif // GEN_API_VER
34
35namespace geometry_msgs
36{
37 namespace msg
38 {
39
40 #ifndef SWIG
41 namespace detail {
42
43 template<typename Tag, typename Tag::type M>
45 {
46 friend constexpr typename Tag::type get(
47 Tag)
48 {
49 return M;
50 }
51 };
52
54 {
55 typedef double Quaternion::* type;
56 friend constexpr type get(
58 };
59
61
62 template <typename T, typename Tag>
63 inline size_t constexpr Quaternion_offset_of() {
64 return ((::size_t) &reinterpret_cast<char const volatile&>((((T*)0)->*get(Tag()))));
65 }
66 }
67 #endif
68
69 /*!
70 * @brief This class represents the TopicDataType of the type Quaternion defined by the user in the IDL file.
71 * @ingroup QUATERNION
72 */
73 class QuaternionPubSubType : public eprosima::fastdds::dds::TopicDataType
74 {
75 public:
76
78
80
82
83 eProsima_user_DllExport virtual bool serialize(
84 void* data,
85 eprosima::fastrtps::rtps::SerializedPayload_t* payload) override;
86
87 eProsima_user_DllExport virtual bool deserialize(
88 eprosima::fastrtps::rtps::SerializedPayload_t* payload,
89 void* data) override;
90
91 eProsima_user_DllExport virtual std::function<uint32_t()> getSerializedSizeProvider(
92 void* data) override;
93
94 eProsima_user_DllExport virtual bool getKey(
95 void* data,
96 eprosima::fastrtps::rtps::InstanceHandle_t* ihandle,
97 bool force_md5 = false) override;
98
99 eProsima_user_DllExport virtual void* createData() override;
100
101 eProsima_user_DllExport virtual void deleteData(
102 void* data) override;
103
104 #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
105 eProsima_user_DllExport inline bool is_bounded() const override
106 {
107 return true;
108 }
109
110 #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
111
112 #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
113 eProsima_user_DllExport inline bool is_plain() const override
114 {
115 return is_plain_impl();
116 }
117
118 #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
119
120 #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
121 eProsima_user_DllExport inline bool construct_sample(
122 void* memory) const override
123 {
124 new (memory) Quaternion();
125 return true;
126 }
127
128 #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
129 MD5 m_md5;
130 unsigned char* m_keyBuffer;
131 private:
132 static constexpr bool is_plain_impl()
133 {
134 return 32ULL == (detail::Quaternion_offset_of<Quaternion, detail::Quaternion_f>() + sizeof(double));
135
136 }};
137 }
138}
139
140#endif // _FAST_DDS_GENERATED_GEOMETRY_MSGS_MSG_QUATERNION_PUBSUBTYPES_H_
#define eProsima_user_DllExport
Definition CameraInfo.h:44
This class represents the TopicDataType of the type Quaternion defined by the user in the IDL file.
This class represents the structure Quaternion defined by the user in the IDL file.
Definition Quaternion.h:71
size_t constexpr Quaternion_offset_of()
friend constexpr type get(Quaternion_f)