26 get_mode(reader.getMode()),
27 get_string(get_mode ? reader.getString() :
""),
28 get_is_vocab32(get_mode ? reader.getIsVocab32() : false),
29 reader(&reader.getReader()),
30 writer(reader.getWriter())
52 return obj.
write(*
this);
57 return obj.
write(writer);
62 return obj.
write(writer);
67 return obj.
write(writer);
135 return writeI8(
reinterpret_cast<std::int8_t&
>(x), skip_tag);
140 return writeI16(
reinterpret_cast<std::int16_t&
>(x), skip_tag);
145 return writeI32(
reinterpret_cast<std::int32_t&
>(x), skip_tag);
150 return writeI64(
reinterpret_cast<std::int64_t&
>(x), skip_tag);
189 if (ch ==
'\0' || ch ==
'_') {
190 if (bit.length() <= 4) {
226 writer.
appendInt32(
static_cast<int>(blob.length()));
238 if (get_is_vocab32) {
#define BOTTLE_TAG_FLOAT64
#define BOTTLE_TAG_STRING
#define BOTTLE_TAG_VOCAB32
#define BOTTLE_TAG_FLOAT32
constexpr yarp::conf::vocab32_t VOCAB_OK
constexpr yarp::conf::vocab32_t VOCAB_IS
virtual void flushWriter()=0
An interface for writing to a network connection.
virtual bool isError() const =0
virtual void appendInt64(std::int64_t data)=0
Send a representation of a 64-bit integer to the network connection.
virtual void appendInt8(std::int8_t data)=0
Send a representation of a 8-bit integer to the network connection.
virtual void appendFloat32(yarp::conf::float32_t data)=0
Send a representation of a 32-bit floating point number to the network connection.
virtual void appendInt16(std::int16_t data)=0
Send a representation of a 16-bit integer to the network connection.
virtual bool convertTextMode()=0
Converts a standard description in binary into a textual description, if the connection is in text-mo...
virtual void appendInt32(std::int32_t data)=0
Send a representation of a 32-bit integer to the network connection.
virtual void appendFloat64(yarp::conf::float64_t data)=0
Send a representation of a 64-bit floating point number to the network connection.
virtual bool isValid() const =0
virtual bool isNull() const
virtual void appendBlock(const char *data, size_t len)=0
Send a block of data to the network connection.
void appendString(const std::string &str)
Send a string to the network connection.
Interface implemented by all objects that can write themselves to the network, such as Bottle objects...
virtual bool write(ConnectionWriter &writer) const =0
Write this object to a network connection.
A "tamed" Portable, that promises to serialize itself in an IDL-friendly way.
virtual bool write(const yarp::os::idl::WireWriter &writer) const
IDL-friendly connection reader.
bool writeVocab32(yarp::conf::vocab32_t x, bool skip_tag=false) const
bool writeUI8(std::uint8_t x, bool skip_tag=false) const
bool writeBool(bool x, bool skip_tag=false) const
bool write(const WirePortable &obj) const
bool writeI32(std::int32_t x, bool skip_tag=false) const
bool writeI16(std::int16_t x, bool skip_tag=false) const
bool writeListHeader(int len) const
bool writeTag(const char *tag, int split, int len) const
bool writeUI64(std::uint64_t x, bool skip_tag=false) const
bool writeFloat64(yarp::conf::float64_t x, bool skip_tag=false) const
bool writeI64(std::int64_t x, bool skip_tag=false) const
bool writeFloat32(yarp::conf::float32_t x, bool skip_tag=false) const
bool writeUI32(std::uint32_t x, bool skip_tag=false) const
bool writeBlock(const char *data, size_t len) const
bool writeOnewayResponse() const
bool writeString(const std::string &str, bool skip_tag=false) const
bool writeListEnd() const
bool writeNested(const WirePortable &obj) const
bool writeSetBegin(int tag, size_t len) const
bool writeI8(std::int8_t x, bool skip_tag=false) const
WireWriter(ConnectionWriter &writer)
bool writeListBegin(int tag, size_t len) const
bool writeBinary(const std::string &blob, bool skip_tag=false) const
bool writeMapBegin(int tag, int tag2, size_t len) const
bool writeUI16(std::uint16_t x, bool skip_tag=false) const
bool writeSizeT(std::size_t x, bool skip_tag=false) const
std::string get_string(const std::string &key, bool *found=nullptr)
Read a string from an environment variable.
ContainerT split(const typename ContainerT::value_type &s, std::basic_regex< typename ContainerT::value_type::value_type > regex)
Utility to split a string by a separator, into a vector of strings.
NetInt32 encode(const std::string &str)
Convert a string into a vocabulary identifier.
An interface to the operating system, including Port based communication.
constexpr yarp::conf::vocab32_t createVocab32(char a, char b=0, char c=0, char d=0)
Create a vocab from chars.