Go to the documentation of this file.
25 #include <unordered_set>
35 std::shared_ptr<MessageSchema>
schema;
39 std::vector<std::pair<FieldsVector, Variant>>
value;
42 std::vector<std::pair<FieldsVector, std::string>>
name;
46 std::vector<std::pair<FieldsVector, Span<const uint8_t>>>
blob;
80 throw std::runtime_error(
"max_array_size limited to 10000 at most");
117 const std::shared_ptr<MessageSchema>&
getSchema()
const;
191 template <
class DeserializerT>
201 const std::string& definition)
203 if (
_pack.count(topic_name) == 0)
213 auto it =
_pack.find(topic_name);
214 if (it !=
_pack.end())
216 return &it->second.parser;
224 auto it =
_pack.find(topic_name);
225 if (it !=
_pack.end())
242 std::unordered_map<std::string, CachedPack>
_pack;
std::vector< std::pair< std::string, double > > RenamedValues
void registerParser(const std::string &topic_name, const ROSType &msg_type, const std::string &definition)
std::shared_ptr< ROSMessage > Ptr
void setWarningsStream(std::ostream *output)
Change where the warning messages are displayed.
std::ostream * _global_warnings
std::vector< std::vector< uint8_t > > blob_storage
void setBlobPolicy(BlobPolicy policy)
std::shared_ptr< MessageSchema > schema
const char * definition()
MaxArrayPolicy _discard_large_array
void setMaxArrayPolicy(MaxArrayPolicy discard_entire_array, size_t max_array_size)
std::vector< std::string > _formatted_string
std::vector< int > _alias_array_pos
std::unique_ptr< Deserializer > _deserializer
std::vector< uint8_t > _buffer
void applyVisitorToBuffer(const ROSType &msg_type, Span< uint8_t > &buffer, VisitingCallback callback) const
applyVisitorToBuffer is used to pass a callback that is invoked every time a chunk of memory storing ...
std::vector< int8_t > _substituted
std::shared_ptr< ROSField > _dummy_root_field
std::function< void(const ROSType &, Span< uint8_t > &)> VisitingCallback
const FlatMessage * deserialize(const std::string &topic_name, Span< const uint8_t > buffer)
MaxArrayPolicy maxArrayPolicy() const
static const char * output
Parser(const std::string &topic_name, const ROSType &msg_type, const std::string &definition)
const T & move(const T &v)
size_t maxArraySize() const
std::vector< std::pair< FieldsVector, Span< const uint8_t > > > blob
bool deserialize(Span< const uint8_t > buffer, FlatMessage *flat_output, Deserializer *deserializer) const
deserializeIntoFlatContainer takes a raw buffer of memory and extract information from it....
std::vector< std::pair< FieldsVector, std::string > > name
List of all those parsed fields that can be represented by a "string".
std::vector< std::pair< FieldsVector, Variant > > value
@ STORE_BLOB_AS_REFERENCE
std::shared_ptr< MessageSchema > _schema
std::unordered_map< std::string, CachedPack > _pack
ROSMessage::Ptr getMessageByType(const ROSType &type) const
BlobPolicy blobPolicy() const
const Parser * getParser(const std::string &topic_name) const
const std::shared_ptr< MessageSchema > & getSchema() const
getSchema provides some metadata amout a registered ROSMessage.
std::unique_ptr< Deserializer > _deserializer
plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:46