Apollo 10.0
自动驾驶开放平台
apollo::cyber::message::PyMessageWrap类 参考

#include <py_message.h>

apollo::cyber::message::PyMessageWrap 的协作图:

class  Descriptor
 

Public 成员函数

 PyMessageWrap ()
 
 PyMessageWrap (const std::string &msg, const std::string &type_name)
 
 PyMessageWrap (const PyMessageWrap &msg)
 
virtual ~PyMessageWrap ()
 
bool SerializeToArray (void *data, int size) const
 
bool SerializeToString (std::string *output) const
 
bool ParseFromArray (const void *data, int size)
 
bool ParseFromString (const std::string &msgstr)
 
int ByteSize () const
 
const std::string & data () const
 
void set_data (const std::string &msg)
 
const std::string & type_name ()
 
void set_type_name (const std::string &type_name)
 

静态 Public 成员函数

static const Descriptordescriptor ()
 
static std::string TypeName ()
 
static void GetDescriptorString (const std::string &type, std::string *desc_str)
 

详细描述

在文件 py_message.h33 行定义.

构造及析构函数说明

◆ PyMessageWrap() [1/3]

apollo::cyber::message::PyMessageWrap::PyMessageWrap ( )
inline

在文件 py_message.h35 行定义.

35: type_name_("") {}

◆ PyMessageWrap() [2/3]

apollo::cyber::message::PyMessageWrap::PyMessageWrap ( const std::string &  msg,
const std::string &  type_name 
)
inline

在文件 py_message.h36 行定义.

37 : data_(msg), type_name_(type_name) {}

◆ PyMessageWrap() [3/3]

apollo::cyber::message::PyMessageWrap::PyMessageWrap ( const PyMessageWrap msg)
inline

在文件 py_message.h38 行定义.

39 : data_(msg.data_), type_name_(msg.type_name_) {}

◆ ~PyMessageWrap()

virtual apollo::cyber::message::PyMessageWrap::~PyMessageWrap ( )
inlinevirtual

在文件 py_message.h40 行定义.

40{}

成员函数说明

◆ ByteSize()

int apollo::cyber::message::PyMessageWrap::ByteSize ( ) const
inline

在文件 py_message.h119 行定义.

119 {
120 return static_cast<int>(data_.size());
121}

◆ data()

const std::string & apollo::cyber::message::PyMessageWrap::data ( ) const
inline

在文件 py_message.h76 行定义.

76{ return data_; }

◆ descriptor()

const PyMessageWrap::Descriptor * apollo::cyber::message::PyMessageWrap::descriptor ( )
inlinestatic

在文件 py_message.h129 行定义.

129 {
130 static Descriptor desc;
131 return &desc;
132}

◆ GetDescriptorString()

void apollo::cyber::message::PyMessageWrap::GetDescriptorString ( const std::string &  type,
std::string *  desc_str 
)
inlinestatic

在文件 py_message.h69 行定义.

70 {
71 ProtobufFactory::Instance()->GetDescriptorString(type, desc_str);
72}

◆ ParseFromArray()

bool apollo::cyber::message::PyMessageWrap::ParseFromArray ( const void *  data,
int  size 
)
inline

在文件 py_message.h78 行定义.

78 {
79 if (data == nullptr || size <= 0) {
80 return false;
81 }
82
83 data_.assign(reinterpret_cast<const char*>(data), size);
84 return true;
85}
const std::string & data() const
Definition py_message.h:76

◆ ParseFromString()

bool apollo::cyber::message::PyMessageWrap::ParseFromString ( const std::string &  msgstr)
inline

在文件 py_message.h87 行定义.

87 {
88 // todo : will use submsg type ywf
89 // std::size_t pos = msgstr.rfind(data_split_pattern);
90 // if (pos != std::string::npos) {
91 // std::size_t split_count = data_split_pattern.size();
92 // data_ = msgstr.substr(0, pos);
93 // type_name_ = msgstr.substr(pos + split_count);
94 // return true;
95 // }
96 data_ = msgstr;
97 return true;
98}

◆ SerializeToArray()

bool apollo::cyber::message::PyMessageWrap::SerializeToArray ( void *  data,
int  size 
) const
inline

在文件 py_message.h100 行定义.

100 {
101 if (data == nullptr || size < ByteSize()) {
102 return false;
103 }
104
105 memcpy(data, data_.data(), data_.size());
106 return true;
107}

◆ SerializeToString()

bool apollo::cyber::message::PyMessageWrap::SerializeToString ( std::string *  output) const
inline

在文件 py_message.h109 行定义.

109 {
110 if (!output) {
111 return false;
112 }
113 // todo : will use submsg type ywf
114 // *output = data_ + data_split_pattern + type_name_;
115 *output = data_;
116 return true;
117}

◆ set_data()

void apollo::cyber::message::PyMessageWrap::set_data ( const std::string &  msg)
inline

在文件 py_message.h74 行定义.

74{ data_ = msg; }

◆ set_type_name()

void apollo::cyber::message::PyMessageWrap::set_type_name ( const std::string &  type_name)
inline

在文件 py_message.h125 行定义.

125 {
126 type_name_ = type_name;
127}

◆ type_name()

const std::string & apollo::cyber::message::PyMessageWrap::type_name ( )
inline

在文件 py_message.h123 行定义.

123{ return type_name_; }

◆ TypeName()

std::string apollo::cyber::message::PyMessageWrap::TypeName ( )
inlinestatic

在文件 py_message.h134 行定义.

134{ return PY_MESSAGE_FULLNAME; }
const char *const PY_MESSAGE_FULLNAME
Definition py_message.h:31

该类的文档由以下文件生成: