CARLA
 
载入中...
搜索中...
未找到
String.cpp
浏览该文件的文档.
1// 版权所有 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// 根据 Apache 许可证第 2.0 版(“许可证”)进行许可;
4// 除非遵守许可证,否则不得使用此文件。
5// 您可以在以下网址获取许可证副本:
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// 除非适用法律要求或书面同意,否则根据许可证分发的软件是以“原样”基础提供的,
10// 不提供任何形式的保证或条件,无论是明示或暗示的。
11// 请参阅许可证以了解特定语言所规定的权限和限制。
12
13/*!
14 * @file String.cpp
15 * 此源文件包含 IDL 文件中描述的类型的定义。
16 *
17 * 此文件是由工具 gen 生成的。
18 */
19
20#ifdef _WIN32
21// 在 Visual Studio 中移除链接器警告 LNK4221
22namespace {
23char dummy;
24} // namespace
25#endif // _WIN32
26
27#include "String.h"
28#include <fastcdr/Cdr.h>
29
30#include <fastcdr/exceptions/BadParamException.h>
31using namespace eprosima::fastcdr::exception;
32
33#include <utility>
34
35// 定义最大 CDR 序列化大小
36#define std_msgs_msg_String_max_cdr_typesize 260ULL;
37#define std_msgs_msg_String_max_key_cdr_typesize 0ULL;
38
39// 构造函数
41{
42 // 字符串 m_data
43 m_data ="";
44}
45
46// 析构函数
50
51// 拷贝构造函数
53 const String& x)
54{
55 m_data = x.m_data;
56}
57
58// 移动构造函数
60 String&& x) noexcept
61{
62 m_data = std::move(x.m_data);
63}
64
65// 拷贝赋值运算符
67 const String& x)
68{
69 m_data = x.m_data;
70
71 return *this;
72}
73
74// 移动赋值运算符
76 String&& x) noexcept
77{
78 m_data = std::move(x.m_data);
79
80 return *this;
81}
82
83// 相等运算符
85 const String& x) const
86{
87 return (m_data == x.m_data);
88}
89
90// 不相等运算符
92 const String& x) const
93{
94 return !(*this == x);
95}
96
97// 获取最大 CDR 序列化大小
104
105// 获取给定数据的 CDR 序列化大小
107 const std_msgs::msg::String& data,
108 size_t current_alignment)
109{
111 current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4) + data.data().size() + 1;
112
114}
115
116// 序列化
118 eprosima::fastcdr::Cdr& scdr) const
119{
120 scdr << m_data.c_str();
121}
122
123// 反序列化
125 eprosima::fastcdr::Cdr& dcdr)
126{
127 dcdr >> m_data;
128}
129
130/*!
131 * @brief 此函数将新值复制到成员数据中
132 * @param _data 要复制到成员数据的新值
133 */
135 const std::string& _data)
136{
137 m_data = _data;
138}
139
140/*!
141 * @brief 此函数将新值移动到成员数据中
142 * @param _data 要移动到成员数据的新值
143 */
145 std::string&& _data)
146{
147 m_data = std::move(_data);
148}
149
150/*!
151 * @brief 此函数返回对成员数据的常量引用
152 * @return 对成员数据的常量引用
153 */
154const std::string& std_msgs::msg::String::data() const
155{
156 return m_data;
157}
158
159/*!
160 * @brief 此函数返回对成员数据的引用
161 * @return 对成员数据的引用
162 */
164{
165 return m_data;
166}
167
168// 获取键的最大 CDR 序列化大小
175
176// 检查键是否已定义
178{
179 return false;
180}
181
182// 序列化键
184 eprosima::fastcdr::Cdr& scdr) const
185{
186 (void) scdr;
187}
return current_alignment initial_alignment
#define std_msgs_msg_String_max_cdr_typesize
Definition String.cpp:36
#define std_msgs_msg_String_max_key_cdr_typesize
Definition String.cpp:37
这个类表示用户在IDL文件中定义的结构体String。
eProsima_user_DllExport bool operator==(const String &x) const
比较运算符。
Definition String.cpp:84
eProsima_user_DllExport String()
默认构造函数。
Definition String.cpp:40
eProsima_user_DllExport void deserialize(eprosima::fastcdr::Cdr &cdr)
这个函数使用CDR序列化反序列化对象。
Definition String.cpp:124
static eProsima_user_DllExport size_t getKeyMaxCdrSerializedSize(size_t current_alignment=0)
这个函数返回对象键的最大序列化大小 取决于缓冲区对齐。
Definition String.cpp:169
static eProsima_user_DllExport size_t getMaxCdrSerializedSize(size_t current_alignment=0)
这个函数返回对象的最大序列化大小 取决于缓冲区对齐。
Definition String.cpp:98
static eProsima_user_DllExport bool isKeyDefined()
这个函数告诉你这个类型是否定义了键
Definition String.cpp:177
eProsima_user_DllExport void serialize(eprosima::fastcdr::Cdr &cdr) const
这个函数使用CDR序列化序列化对象。
Definition String.cpp:117
static eProsima_user_DllExport size_t getCdrSerializedSize(const std_msgs::msg::String &data, size_t current_alignment=0)
这个函数返回数据的序列化大小 取决于缓冲区对齐。
Definition String.cpp:106
eProsima_user_DllExport const std::string & data() const
这个函数返回成员数据的常量引用
Definition String.cpp:154
eProsima_user_DllExport ~String()
默认析构函数。
Definition String.cpp:47
eProsima_user_DllExport void serializeKey(eprosima::fastcdr::Cdr &cdr) const
这个函数使用CDR序列化序列化对象的键成员。
Definition String.cpp:183
eProsima_user_DllExport String & operator=(const String &x)
拷贝赋值运算符。
Definition String.cpp:66
eProsima_user_DllExport void data(const std::string &_data)
这个函数复制成员数据的值
Definition String.cpp:134
eProsima_user_DllExport bool operator!=(const String &x) const
比较运算符。
Definition String.cpp:91