|
YARP
Yet Another Robot Platform
|
|
Go to the documentation of this file.
21 auto* icursor =
reinterpret_cast<NetInt32 *
> (cursor);
25 static char *
checkBottle(
char *cursor,
int& remaining,
int ct,
int list_tag) {
26 while (remaining>0 && ct>0) {
44 if (remaining<4) {
return nullptr; }
49 if (remaining<8) {
return nullptr; }
62 if (len<0||len>remaining) {
77 cursor =
checkBottle(cursor,remaining,len,tag&0xff);
78 if (cursor ==
nullptr) {
87 if (remaining!=0) {
return nullptr; }
88 if (ct!=0) {
return nullptr; }
100 for (
size_t i=0; i<src.
length(); i++) {
101 total_len += src.
length(i);
103 bool has_header =
false;
104 int payload_index = 0;
105 int payload_offset = 0;
108 char *base = (
char*)src.
data(0);
118 if ((
size_t)i3==total_len - 12) {
129 dest.
setDelegate(&src,payload_index,payload_offset);
virtual size_t length() const =0
#define BOTTLE_TAG_STRING
static NetInt32 getInt(char *cursor)
void setDelegate(yarp::os::SizedWriter *delegate, int index, int offset)
static char * checkBottle(char *cursor, int &remaining, int ct, int list_tag)
A simple abstraction for a block of bytes.
#define BOTTLE_TAG_FLOAT64
An interface to the operating system, including Port based communication.
virtual const char * data(size_t index) const =0
static int netInt(const yarp::os::Bytes &code)
Minimal requirements for an efficient Writer.
std::int32_t NetInt32
Definition of the NetInt32 type.