24 #ifndef ROS_INTROSPECTION_ROSMESSAGE_H 25 #define ROS_INTROSPECTION_ROSMESSAGE_H 27 #include <unordered_map> 37 using Ptr = std::shared_ptr<ROSMessage>;
64 using Ptr = std::shared_ptr<MessageSchema>;
90 const std::vector<ROSMessage::Ptr>& parsed_msgs);
const ROSField & field(size_t i) const
std::vector< ROSField > & fields()
const ROSType & type() const
std::shared_ptr< ROSMessage > Ptr
const std::vector< ROSField > & fields() const
void setType(const ROSType &new_type)
A ROSMessage will contain one or more ROSField(s). Each field is little more than a name / type pair...
RosMessageLibrary msg_library
MessageSchema::Ptr BuildMessageSchema(const std::string &topic_name, const std::vector< ROSMessage::Ptr > &parsed_msgs)
std::vector< ROSField > _fields
details::Tree< const ROSField * > FieldTree
details::TreeNode< const ROSField * > FieldTreeNode
std::ostream & operator<<(std::ostream &os, const BuiltinType &c)
std::shared_ptr< MessageSchema > Ptr
std::unordered_map< ROSType, std::shared_ptr< ROSMessage > > RosMessageLibrary
ROSMessage(const std::string &msg_def)
std::vector< ROSMessage::Ptr > ParseMessageDefinitions(const std::string &multi_def, const ROSType &type)
Element of the tree. it has a single parent and N >= 0 children.