17 const std::string& content,
18 const std::vector<std::string>& parameters,
19 const std::vector<std::string>& arguments) :
23 parameters(parameters),
31 if (!read_type(reader)) {
34 if (!read_content(reader)) {
37 if (!read_parameters(reader)) {
40 if (!read_arguments(reader)) {
65 if (!write_type(writer)) {
68 if (!write_content(writer)) {
71 if (!write_parameters(writer)) {
74 if (!write_arguments(writer)) {
206 if constexpr (expected_tag != 0) {
207 if (_csize != 0 && _etype.
code != expected_tag) {
212 for (
size_t _i = 0; _i < _csize; ++_i) {
251 if constexpr (expected_tag != 0) {
252 if (_csize != 0 && _etype.
code != expected_tag) {
257 for (
size_t _i = 0; _i < _csize; ++_i) {
296 if constexpr (expected_tag != 0) {
297 if (_csize != 0 && _etype.
code != expected_tag) {
302 for (
size_t _i = 0; _i < _csize; ++_i) {
341 if constexpr (expected_tag != 0) {
342 if (_csize != 0 && _etype.
code != expected_tag) {
347 for (
size_t _i = 0; _i < _csize; ++_i) {
#define BOTTLE_TAG_STRING
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
std::vector< std::string > parameters
possible parameters
bool write(const yarp::os::idl::WireWriter &writer) const override
std::string type
type of message (can be prompt, assistant, function, ...)
std::string content
content of the message
bool read(yarp::os::idl::WireReader &reader) override
std::string toString() const
std::vector< std::string > arguments
possible arguments of the parameters
A simple collection of objects that can be described and transmitted in a portable way.
std::string toString() const override
Gives a human-readable textual representation of the bottle.
An interface for reading from a network connection.
An interface for writing to a network connection.
static bool copyPortable(const PortWriter &writer, PortReader &reader)
Copy one portable to another, via writing and reading.
IDL-friendly connection reader.
bool readString(std::string &str, bool *is_vocab=nullptr)
void readListBegin(yarp::os::idl::WireState &nstate, size_t &len)
IDL-friendly connection writer.
bool writeListHeader(int len) const
bool writeString(const std::string &str, bool skip_tag=false) const
bool writeListEnd() const
bool writeListBegin(int tag, size_t len) const
For streams capable of holding different kinds of content, check what they actually have.