Class MessageWriter
Defined in File message_writer.hpp
Inheritance Relationships
Derived Types
public RosMsgParser::FlatMessageWriter(Class FlatMessageWriter)public RosMsgParser::MsgpackMessageWriter(Class MsgpackMessageWriter)
Class Documentation
-
class MessageWriter
Abstract interface for consuming deserialized schema values. Implement this to produce different output formats (FlatMessage, JSON, msgpack, etc.) from the same schema walk.
Subclassed by RosMsgParser::FlatMessageWriter, RosMsgParser::MsgpackMessageWriter
Public Functions
-
virtual ~MessageWriter() = default
-
virtual void writeValue(const FieldLeaf &leaf, const Variant &value) = 0
Called for each scalar/builtin value (not string, not enum)
-
virtual void writeString(const FieldLeaf &leaf, const std::string &value) = 0
Called for each string value.
-
virtual void writeEnum(const FieldLeaf &leaf, int32_t int_value, const std::string &enum_name) = 0
Called for each enum value.
-
inline virtual void writeBlob(const FieldLeaf&, Span<const uint8_t>)
Called for blob data (large byte arrays exceeding max_array_size)
-
inline virtual void beginStruct(const ROSField&)
Structural events for writers that need hierarchy (e.g., JSON)
-
inline virtual void endStruct()
-
inline virtual void finish()
Called when the schema walk finishes. Writers can use this to finalize output.
-
virtual ~MessageWriter() = default