<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>builtin_types.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>builtin__types_8hpp</filename>
    <namespace>RosIntrospection</namespace>
    <member kind="enumeration">
      <name>BuiltinType</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>BOOL</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ac3e8282e4666560ed13b910e903d5f57</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>BYTE</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a00762b1347cb1c26d815bd9a3ced5e87</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CHAR</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a0950e8958a86fd326f8dbb6847bb7c31</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT8</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ada406d32f6deab9c9dfd9be6c6daa165</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT16</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18aa6e7cc3f0463d9fb69109dfeede51e88</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT32</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18af646584a386fdf187310de5c62cdb594</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT64</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a20e6577bcfaa88c729f641998865b646</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT8</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ac706b9c2a93290ac9892dca92149f4dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT16</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a53ead78347884dad8dbad493ad1ab31d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT32</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ad4382e2a0cc9c3f1a0e92631fb0619fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT64</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a5ec5aff867201d47aebd83e3e675d6eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FLOAT32</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a64b4f78c244aa20bc658263d54362d3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FLOAT64</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ab4e7332f1a59929784cd189af5f1b3bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TIME</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ad860deb3273f0da6491526d71d15246b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DURATION</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a347c6429ace904fab9a708e7a9f41fe9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>STRING</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a1c0e590694eddd085e63613b3e6b2ebb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>OTHER</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ab08f639411d48d35ec22a00c321d1b58</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>builtinSize</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab8fc60d36b1e85ee8722f5920760c04e</anchor>
      <arglist>(const BuiltinType c)</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ae3aad11091f317f92aab3064ddf6114c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; bool &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>abb9107996a86ef9cc3a635beeaf8c760</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; char &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a6c032e830fad2d054db053ac0189a949</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; double &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a88b53b842c3c64d4a0c5d1b64a61a6cd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; float &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a78dc96b4748f6e1a06477d87c6078b18</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int16_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a7fd0564072a9976184c5d0d757c2d793</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int32_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a27945245b21e62ebfc1b6862ae952e58</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int64_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a2a243be2008c641a131db19a6dec134c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int8_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a0b20cf59df4e37a5a00828f544ad85c9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; ros::Duration &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab1122984ae9ffb98d18569c3751bb227</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; ros::Time &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a33d817606eb05b0e32ad1e9dbcc50109</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; std::string &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a47edc2c70d6844230cf8f3efed9b5d4d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint16_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a7aab2c6ca05dfc441c86d777d825bd16</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint32_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>abbee88413fea776112fc880562ef5f42</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint64_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a4953d330631282a5fc709c77665c811e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint8_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a08c55e388bfd9093e8a238ff35a490d0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a92d732681e18877988a22d3d847b960c</anchor>
      <arglist>(std::ostream &amp;os, const BuiltinType &amp;c)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>toStr</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a24d71e1c838ee17bfe7fc6715322fe73</anchor>
      <arglist>(const BuiltinType &amp;c)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>conversion_impl.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/details/</path>
    <filename>conversion__impl_8hpp</filename>
    <includes id="builtin__types_8hpp" name="builtin_types.hpp" local="yes" imported="no">ros_type_introspection/builtin_types.hpp</includes>
    <includes id="exceptions_8hpp" name="exceptions.hpp" local="yes" imported="no">ros_type_introspection/details/exceptions.hpp</includes>
    <class kind="struct">RosIntrospection::details::is_integer</class>
    <class kind="struct">RosIntrospection::details::is_safe_integer_conversion</class>
    <class kind="struct">RosIntrospection::details::is_same_real</class>
    <namespace>RosIntrospection</namespace>
    <namespace>RosIntrospection::details</namespace>
  </compound>
  <compound kind="file">
    <name>exceptions.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/details/</path>
    <filename>exceptions_8hpp</filename>
    <class kind="class">RosIntrospection::RangeException</class>
    <class kind="class">RosIntrospection::TypeException</class>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>helper_functions.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>helper__functions_8hpp</filename>
    <includes id="variant_8hpp" name="variant.hpp" local="yes" imported="no">ros_type_introspection/utils/variant.hpp</includes>
    <namespace>RosIntrospection</namespace>
    <member kind="function">
      <type>int</type>
      <name>print_number</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a027f0309fb39201cd5fd887a909949f4</anchor>
      <arglist>(char *buffer, uint16_t value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ReadFromBuffer</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a62e4f8c0ce9fbfc52dc8b26a97945d31</anchor>
      <arglist>(const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset, T &amp;destination)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ReadFromBuffer</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ae6c4c079df9dd85f2ba911501a2a336e</anchor>
      <arglist>(const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset, std::string &amp;destination)</arglist>
    </member>
    <member kind="function">
      <type>Variant</type>
      <name>ReadFromBufferToVariant</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a12e1f643445f1872707d4f20c253269a</anchor>
      <arglist>(const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset)</arglist>
    </member>
    <member kind="function">
      <type>Variant</type>
      <name>ReadFromBufferToVariant</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a0a31688987c46d1960b50fb42d7a7ca4</anchor>
      <arglist>(BuiltinType id, const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ros_field.cpp</name>
    <path>/tmp/ws/src/ros_type_introspection/src/</path>
    <filename>ros__field_8cpp</filename>
    <includes id="ros__field_8hpp" name="ros_field.hpp" local="yes" imported="no">ros_type_introspection/ros_field.hpp</includes>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>ros_field.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>ros__field_8hpp</filename>
    <includes id="ros__type_8hpp" name="ros_type.hpp" local="yes" imported="no">ros_type_introspection/ros_type.hpp</includes>
    <class kind="class">RosIntrospection::ROSField</class>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>ros_introspection.cpp</name>
    <path>/tmp/ws/src/ros_type_introspection/src/</path>
    <filename>ros__introspection_8cpp</filename>
    <includes id="ros__introspection_8hpp" name="ros_introspection.hpp" local="yes" imported="no">ros_type_introspection/ros_introspection.hpp</includes>
    <includes id="helper__functions_8hpp" name="helper_functions.hpp" local="yes" imported="no">ros_type_introspection/helper_functions.hpp</includes>
    <namespace>RosIntrospection</namespace>
    <member kind="function">
      <type>bool</type>
      <name>FindPattern</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a5ee857b366780bde2ddba8cf63688a0d</anchor>
      <arglist>(const std::vector&lt; absl::string_view &gt; &amp;pattern, size_t index, const StringTreeNode *tail, const StringTreeNode **head)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isNumberPlaceholder</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a2517eb2379038cfda63748c6c719af8a</anchor>
      <arglist>(const absl::string_view &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isSubstitutionPlaceholder</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a58742e2bc8e437dbf227f340dea85829</anchor>
      <arglist>(const absl::string_view &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>JoinStrings</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a2e8c25a26be3a00cc5bed3475fd8f4ba</anchor>
      <arglist>(const VectorType &amp;vect, const char separator, std::string &amp;destination)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>aa27d734cfcd3c7193e4d8f2f101a8786</anchor>
      <arglist>(const std::string &amp;a, const absl::string_view &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>PatternMatchAndIndexPosition</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a931112fd82e7bc623ae51a2ceb5f230f</anchor>
      <arglist>(const StringTreeLeaf &amp;leaf, const StringTreeNode *pattern_head)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ros_introspection.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>ros__introspection_8hpp</filename>
    <includes id="stringtree__leaf_8hpp" name="stringtree_leaf.hpp" local="yes" imported="no">ros_type_introspection/stringtree_leaf.hpp</includes>
    <includes id="substitution__rule_8hpp" name="substitution_rule.hpp" local="yes" imported="no">ros_type_introspection/substitution_rule.hpp</includes>
    <includes id="helper__functions_8hpp" name="helper_functions.hpp" local="yes" imported="no">ros_type_introspection/helper_functions.hpp</includes>
    <class kind="struct">RosIntrospection::FlatMessage</class>
    <class kind="class">RosIntrospection::Parser</class>
    <class kind="struct">RosIntrospection::Parser::RulesCache</class>
    <namespace>RosIntrospection</namespace>
    <member kind="typedef">
      <type>std::vector&lt; std::pair&lt; std::string, Variant &gt; &gt;</type>
      <name>RenamedValues</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>af2a27e2776be8f7b566e852ed166039d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ros_message.cpp</name>
    <path>/tmp/ws/src/ros_type_introspection/src/</path>
    <filename>ros__message_8cpp</filename>
    <includes id="ros__message_8hpp" name="ros_message.hpp" local="yes" imported="no">ros_type_introspection/ros_message.hpp</includes>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>ros_message.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>ros__message_8hpp</filename>
    <includes id="tree_8hpp" name="tree.hpp" local="yes" imported="no">ros_type_introspection/utils/tree.hpp</includes>
    <includes id="ros__field_8hpp" name="ros_field.hpp" local="yes" imported="no">ros_type_introspection/ros_field.hpp</includes>
    <class kind="class">RosIntrospection::ROSMessage</class>
    <class kind="struct">RosIntrospection::ROSMessageInfo</class>
    <namespace>RosIntrospection</namespace>
    <member kind="typedef">
      <type>details::Tree&lt; const ROSMessage * &gt;</type>
      <name>MessageTree</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a0c6e9a8cf12c9bb9a877ff17debe7643</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>details::TreeNode&lt; const ROSMessage * &gt;</type>
      <name>MessageTreeNode</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a50f70db17702cc904c3f20b1fb826c44</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>details::Tree&lt; std::string &gt;</type>
      <name>StringTree</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a216fa520a2f05acedf1365fe0658a702</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>details::TreeNode&lt; std::string &gt;</type>
      <name>StringTreeNode</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ad8a2d0b1150e4e3d713298d12b2621bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a6cbc4c4915394e858e85b0eb9b471757</anchor>
      <arglist>(std::ostream &amp;os, const ROSMessage &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a6b14d51c631bd2d3cf61fe2906424c6d</anchor>
      <arglist>(std::ostream &amp;os, const ROSMessage *msg)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ros_type.cpp</name>
    <path>/tmp/ws/src/ros_type_introspection/src/</path>
    <filename>ros__type_8cpp</filename>
    <includes id="ros__type_8hpp" name="ros_type.hpp" local="yes" imported="no">ros_type_introspection/ros_type.hpp</includes>
    <includes id="helper__functions_8hpp" name="helper_functions.hpp" local="yes" imported="no">ros_type_introspection/helper_functions.hpp</includes>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>ros_type.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>ros__type_8hpp</filename>
    <includes id="variant_8hpp" name="variant.hpp" local="yes" imported="no">ros_type_introspection/utils/variant.hpp</includes>
    <class kind="struct">std::hash&lt; RosIntrospection::ROSType &gt;</class>
    <class kind="class">RosIntrospection::ROSType</class>
    <namespace>RosIntrospection</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab3cc1a5e5ad790de455216462f5caf78</anchor>
      <arglist>(std::ostream &amp;os, const ROSType &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>toBuiltinType</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ad191e126d3bdb44392a4b92fc456983f</anchor>
      <arglist>(const absl::string_view &amp;s)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shape_shifter.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/utils/</path>
    <filename>shape__shifter_8hpp</filename>
    <includes id="ros__introspection_8hpp" name="ros_introspection.hpp" local="yes" imported="no">ros_type_introspection/ros_introspection.hpp</includes>
    <class kind="struct">ros::message_traits::DataType&lt; RosIntrospection::ShapeShifter &gt;</class>
    <class kind="struct">ros::message_traits::Definition&lt; RosIntrospection::ShapeShifter &gt;</class>
    <class kind="struct">ros::message_traits::IsMessage&lt; const RosIntrospection::ShapeShifter &gt;</class>
    <class kind="struct">ros::message_traits::IsMessage&lt; RosIntrospection::ShapeShifter &gt;</class>
    <class kind="struct">ros::message_traits::MD5Sum&lt; RosIntrospection::ShapeShifter &gt;</class>
    <class kind="struct">ros::serialization::PreDeserialize&lt; RosIntrospection::ShapeShifter &gt;</class>
    <class kind="struct">ros::serialization::Serializer&lt; RosIntrospection::ShapeShifter &gt;</class>
    <class kind="class">RosIntrospection::ShapeShifter</class>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>stringtree_leaf.cpp</name>
    <path>/tmp/ws/src/ros_type_introspection/src/</path>
    <filename>stringtree__leaf_8cpp</filename>
    <includes id="stringtree__leaf_8hpp" name="stringtree_leaf.hpp" local="yes" imported="no">ros_type_introspection/stringtree_leaf.hpp</includes>
    <includes id="helper__functions_8hpp" name="helper_functions.hpp" local="yes" imported="no">ros_type_introspection/helper_functions.hpp</includes>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>stringtree_leaf.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>stringtree__leaf_8hpp</filename>
    <includes id="ros__message_8hpp" name="ros_message.hpp" local="yes" imported="no">ros_type_introspection/ros_message.hpp</includes>
    <class kind="class">RosIntrospection::InlinedVector</class>
    <class kind="struct">RosIntrospection::StringTreeLeaf</class>
    <namespace>RosIntrospection</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a505621fdaca7edc21d0220aab61c6d5f</anchor>
      <arglist>(std::ostream &amp;os, const StringTreeLeaf &amp;leaf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>substitution_rule.cpp</name>
    <path>/tmp/ws/src/ros_type_introspection/src/</path>
    <filename>substitution__rule_8cpp</filename>
    <includes id="substitution__rule_8hpp" name="substitution_rule.hpp" local="yes" imported="no">ros_type_introspection/substitution_rule.hpp</includes>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="file">
    <name>substitution_rule.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/</path>
    <filename>substitution__rule_8hpp</filename>
    <includes id="ros__type_8hpp" name="ros_type.hpp" local="yes" imported="no">ros_type_introspection/ros_type.hpp</includes>
    <class kind="struct">std::hash&lt; RosIntrospection::SubstitutionRule &gt;</class>
    <class kind="class">RosIntrospection::SubstitutionRule</class>
    <namespace>RosIntrospection</namespace>
    <member kind="typedef">
      <type>std::map&lt; ROSType, std::vector&lt; SubstitutionRule &gt; &gt;</type>
      <name>SubstitutionRuleMap</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a5de987803dce2e29c003bca4ff7a1f9b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tree.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/utils/</path>
    <filename>tree_8hpp</filename>
    <class kind="class">RosIntrospection::details::Tree</class>
    <class kind="class">RosIntrospection::details::TreeNode</class>
    <namespace>RosIntrospection</namespace>
    <namespace>RosIntrospection::details</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection_1_1details.html</anchorfile>
      <anchor>a9b506ab634ff6de574873a0c85523dfb</anchor>
      <arglist>(std::ostream &amp;os, const std::pair&lt; const TreeNode&lt; T &gt; *, const TreeNode&lt; T &gt; * &gt; &amp;tail_head)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>variant.hpp</name>
    <path>/tmp/ws/src/ros_type_introspection/include/ros_type_introspection/utils/</path>
    <filename>variant_8hpp</filename>
    <includes id="builtin__types_8hpp" name="builtin_types.hpp" local="yes" imported="no">ros_type_introspection/builtin_types.hpp</includes>
    <includes id="exceptions_8hpp" name="exceptions.hpp" local="yes" imported="no">ros_type_introspection/details/exceptions.hpp</includes>
    <includes id="conversion__impl_8hpp" name="conversion_impl.hpp" local="yes" imported="no">ros_type_introspection/details/conversion_impl.hpp</includes>
    <class kind="class">RosIntrospection::Variant</class>
    <namespace>RosIntrospection</namespace>
  </compound>
  <compound kind="namespace">
    <name>internal_compressed_tuple</name>
    <filename>namespaceinternal__compressed__tuple.html</filename>
  </compound>
  <compound kind="namespace">
    <name>is_detected_impl</name>
    <filename>namespaceis__detected__impl.html</filename>
  </compound>
  <compound kind="namespace">
    <name>optional_internal</name>
    <filename>namespaceoptional__internal.html</filename>
  </compound>
  <compound kind="struct">
    <name>ros::message_traits::DataType&lt; RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1message__traits_1_1DataType_3_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <member kind="function" static="yes">
      <type>static const char *</type>
      <name>value</name>
      <anchorfile>structros_1_1message__traits_1_1DataType_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a59645aae4a7c33351b901f1fc65c942c</anchor>
      <arglist>(const RosIntrospection::ShapeShifter &amp;m)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const char *</type>
      <name>value</name>
      <anchorfile>structros_1_1message__traits_1_1DataType_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a4beadc521785baed98cdb4de878ae513</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ros::message_traits::Definition&lt; RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1message__traits_1_1Definition_3_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <member kind="function" static="yes">
      <type>static const char *</type>
      <name>value</name>
      <anchorfile>structros_1_1message__traits_1_1Definition_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a516572fb37185b7f3d5a38323a32b151</anchor>
      <arglist>(const RosIntrospection::ShapeShifter &amp;m)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ros::message_traits::IsMessage&lt; const RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1message__traits_1_1IsMessage_3_01const_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <base>ros::message_traits::TrueType</base>
  </compound>
  <compound kind="struct">
    <name>ros::message_traits::IsMessage&lt; RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1message__traits_1_1IsMessage_3_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <base>ros::message_traits::TrueType</base>
  </compound>
  <compound kind="struct">
    <name>ros::message_traits::MD5Sum&lt; RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1message__traits_1_1MD5Sum_3_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <member kind="function" static="yes">
      <type>static const char *</type>
      <name>value</name>
      <anchorfile>structros_1_1message__traits_1_1MD5Sum_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a920b312a4619b8b5b76d7261f83b3b7f</anchor>
      <arglist>(const RosIntrospection::ShapeShifter &amp;m)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const char *</type>
      <name>value</name>
      <anchorfile>structros_1_1message__traits_1_1MD5Sum_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>ac2b832023d676ff0087bfde9b0f1b21b</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ros::serialization::PreDeserialize&lt; RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1serialization_1_1PreDeserialize_3_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>notify</name>
      <anchorfile>structros_1_1serialization_1_1PreDeserialize_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a236410aff202f1b24241476f09ba4e21</anchor>
      <arglist>(const PreDeserializeParams&lt; RosIntrospection::ShapeShifter &gt; &amp;params)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ros::serialization::Serializer&lt; RosIntrospection::ShapeShifter &gt;</name>
    <filename>structros_1_1serialization_1_1Serializer_3_01RosIntrospection_1_1ShapeShifter_01_4.html</filename>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>read</name>
      <anchorfile>structros_1_1serialization_1_1Serializer_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a4cb009b56ef6a2c15df0143646c2e6c0</anchor>
      <arglist>(Stream &amp;stream, RosIntrospection::ShapeShifter &amp;m)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>serializedLength</name>
      <anchorfile>structros_1_1serialization_1_1Serializer_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a657697f51caf5873af7ee6394042901e</anchor>
      <arglist>(const RosIntrospection::ShapeShifter &amp;m)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>write</name>
      <anchorfile>structros_1_1serialization_1_1Serializer_3_01RosIntrospection_1_1ShapeShifter_01_4.html</anchorfile>
      <anchor>a6c3bd21fff55455ee76ac8816e239bb6</anchor>
      <arglist>(Stream &amp;stream, const RosIntrospection::ShapeShifter &amp;m)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>RosIntrospection</name>
    <filename>namespaceRosIntrospection.html</filename>
    <namespace>RosIntrospection::details</namespace>
    <class kind="struct">RosIntrospection::FlatMessage</class>
    <class kind="class">RosIntrospection::InlinedVector</class>
    <class kind="class">RosIntrospection::Parser</class>
    <class kind="class">RosIntrospection::RangeException</class>
    <class kind="class">RosIntrospection::ROSField</class>
    <class kind="class">RosIntrospection::ROSMessage</class>
    <class kind="struct">RosIntrospection::ROSMessageInfo</class>
    <class kind="class">RosIntrospection::ROSType</class>
    <class kind="class">RosIntrospection::ShapeShifter</class>
    <class kind="struct">RosIntrospection::StringTreeLeaf</class>
    <class kind="class">RosIntrospection::SubstitutionRule</class>
    <class kind="class">RosIntrospection::TypeException</class>
    <class kind="class">RosIntrospection::Variant</class>
    <member kind="typedef">
      <type>details::Tree&lt; const ROSMessage * &gt;</type>
      <name>MessageTree</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a0c6e9a8cf12c9bb9a877ff17debe7643</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>details::TreeNode&lt; const ROSMessage * &gt;</type>
      <name>MessageTreeNode</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a50f70db17702cc904c3f20b1fb826c44</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; std::pair&lt; std::string, Variant &gt; &gt;</type>
      <name>RenamedValues</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>af2a27e2776be8f7b566e852ed166039d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>details::Tree&lt; std::string &gt;</type>
      <name>StringTree</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a216fa520a2f05acedf1365fe0658a702</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>details::TreeNode&lt; std::string &gt;</type>
      <name>StringTreeNode</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ad8a2d0b1150e4e3d713298d12b2621bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::map&lt; ROSType, std::vector&lt; SubstitutionRule &gt; &gt;</type>
      <name>SubstitutionRuleMap</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a5de987803dce2e29c003bca4ff7a1f9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <name>BuiltinType</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>BOOL</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ac3e8282e4666560ed13b910e903d5f57</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>BYTE</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a00762b1347cb1c26d815bd9a3ced5e87</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CHAR</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a0950e8958a86fd326f8dbb6847bb7c31</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT8</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ada406d32f6deab9c9dfd9be6c6daa165</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT16</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18aa6e7cc3f0463d9fb69109dfeede51e88</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT32</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18af646584a386fdf187310de5c62cdb594</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UINT64</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a20e6577bcfaa88c729f641998865b646</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT8</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ac706b9c2a93290ac9892dca92149f4dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT16</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a53ead78347884dad8dbad493ad1ab31d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT32</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ad4382e2a0cc9c3f1a0e92631fb0619fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>INT64</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a5ec5aff867201d47aebd83e3e675d6eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FLOAT32</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a64b4f78c244aa20bc658263d54362d3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>FLOAT64</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ab4e7332f1a59929784cd189af5f1b3bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TIME</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ad860deb3273f0da6491526d71d15246b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DURATION</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a347c6429ace904fab9a708e7a9f41fe9</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>STRING</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18a1c0e590694eddd085e63613b3e6b2ebb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>OTHER</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab57ee8726eaaa75abb7e891bfa0eeb18ab08f639411d48d35ec22a00c321d1b58</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>builtinSize</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab8fc60d36b1e85ee8722f5920760c04e</anchor>
      <arglist>(const BuiltinType c)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>FindPattern</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a5ee857b366780bde2ddba8cf63688a0d</anchor>
      <arglist>(const std::vector&lt; absl::string_view &gt; &amp;pattern, size_t index, const StringTreeNode *tail, const StringTreeNode **head)</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ae3aad11091f317f92aab3064ddf6114c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; bool &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>abb9107996a86ef9cc3a635beeaf8c760</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; char &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a6c032e830fad2d054db053ac0189a949</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; double &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a88b53b842c3c64d4a0c5d1b64a61a6cd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; float &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a78dc96b4748f6e1a06477d87c6078b18</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int16_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a7fd0564072a9976184c5d0d757c2d793</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int32_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a27945245b21e62ebfc1b6862ae952e58</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int64_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a2a243be2008c641a131db19a6dec134c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; int8_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a0b20cf59df4e37a5a00828f544ad85c9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; ros::Duration &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab1122984ae9ffb98d18569c3751bb227</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; ros::Time &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a33d817606eb05b0e32ad1e9dbcc50109</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; std::string &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a47edc2c70d6844230cf8f3efed9b5d4d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint16_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a7aab2c6ca05dfc441c86d777d825bd16</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint32_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>abbee88413fea776112fc880562ef5f42</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint64_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a4953d330631282a5fc709c77665c811e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getType&lt; uint8_t &gt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a08c55e388bfd9093e8a238ff35a490d0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isNumberPlaceholder</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a2517eb2379038cfda63748c6c719af8a</anchor>
      <arglist>(const absl::string_view &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isSubstitutionPlaceholder</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a58742e2bc8e437dbf227f340dea85829</anchor>
      <arglist>(const absl::string_view &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>JoinStrings</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a2e8c25a26be3a00cc5bed3475fd8f4ba</anchor>
      <arglist>(const VectorType &amp;vect, const char separator, std::string &amp;destination)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a6cbc4c4915394e858e85b0eb9b471757</anchor>
      <arglist>(std::ostream &amp;os, const ROSMessage &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a6b14d51c631bd2d3cf61fe2906424c6d</anchor>
      <arglist>(std::ostream &amp;os, const ROSMessage *msg)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a92d732681e18877988a22d3d847b960c</anchor>
      <arglist>(std::ostream &amp;os, const BuiltinType &amp;c)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a505621fdaca7edc21d0220aab61c6d5f</anchor>
      <arglist>(std::ostream &amp;os, const StringTreeLeaf &amp;leaf)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ab3cc1a5e5ad790de455216462f5caf78</anchor>
      <arglist>(std::ostream &amp;os, const ROSType &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>aa27d734cfcd3c7193e4d8f2f101a8786</anchor>
      <arglist>(const std::string &amp;a, const absl::string_view &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>PatternMatchAndIndexPosition</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a931112fd82e7bc623ae51a2ceb5f230f</anchor>
      <arglist>(const StringTreeLeaf &amp;leaf, const StringTreeNode *pattern_head)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>print_number</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a027f0309fb39201cd5fd887a909949f4</anchor>
      <arglist>(char *buffer, uint16_t value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ReadFromBuffer</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a62e4f8c0ce9fbfc52dc8b26a97945d31</anchor>
      <arglist>(const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset, T &amp;destination)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ReadFromBuffer</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ae6c4c079df9dd85f2ba911501a2a336e</anchor>
      <arglist>(const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset, std::string &amp;destination)</arglist>
    </member>
    <member kind="function">
      <type>Variant</type>
      <name>ReadFromBufferToVariant</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a12e1f643445f1872707d4f20c253269a</anchor>
      <arglist>(const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset)</arglist>
    </member>
    <member kind="function">
      <type>Variant</type>
      <name>ReadFromBufferToVariant</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a0a31688987c46d1960b50fb42d7a7ca4</anchor>
      <arglist>(BuiltinType id, const absl::Span&lt; uint8_t &gt; &amp;buffer, size_t &amp;offset)</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>toBuiltinType</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>ad191e126d3bdb44392a4b92fc456983f</anchor>
      <arglist>(const absl::string_view &amp;s)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>toStr</name>
      <anchorfile>namespaceRosIntrospection.html</anchorfile>
      <anchor>a24d71e1c838ee17bfe7fc6715322fe73</anchor>
      <arglist>(const BuiltinType &amp;c)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::FlatMessage</name>
    <filename>structRosIntrospection_1_1FlatMessage.html</filename>
    <member kind="variable">
      <type>std::vector&lt; std::pair&lt; StringTreeLeaf, std::vector&lt; uint8_t &gt; &gt; &gt;</type>
      <name>blob</name>
      <anchorfile>structRosIntrospection_1_1FlatMessage.html</anchorfile>
      <anchor>ae0bcfb099e843f18b7ecdedcd563fd3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; std::pair&lt; StringTreeLeaf, std::string &gt; &gt;</type>
      <name>name</name>
      <anchorfile>structRosIntrospection_1_1FlatMessage.html</anchorfile>
      <anchor>a6cd0342d0cca88962880ce183dc72639</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const StringTree *</type>
      <name>tree</name>
      <anchorfile>structRosIntrospection_1_1FlatMessage.html</anchorfile>
      <anchor>a5a03c1c8438daa4cac019ebac6ee7344</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; std::pair&lt; StringTreeLeaf, Variant &gt; &gt;</type>
      <name>value</name>
      <anchorfile>structRosIntrospection_1_1FlatMessage.html</anchorfile>
      <anchor>a09aa9985ff6078f82ce94e2ecda9ab15</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::InlinedVector</name>
    <filename>classRosIntrospection_1_1InlinedVector.html</filename>
    <templarg>T</templarg>
    <templarg>N</templarg>
    <member kind="function">
      <type>const T &amp;</type>
      <name>back</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>ad747063b3dc8a7726a8993acc648a75e</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>T &amp;</type>
      <name>back</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a5936025a93c766c04b05c2cf0a9383eb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>InlinedVector</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a6c45a6519ea812808ce107216ca875f6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const T &amp;</type>
      <name>operator[]</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a5c1da4827ce5ae6fba328c21dbf30aa0</anchor>
      <arglist>(size_t index) const </arglist>
    </member>
    <member kind="function">
      <type>T &amp;</type>
      <name>operator[]</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a89b3adb4ea8f7f8d64199a0c2b754d46</anchor>
      <arglist>(size_t index)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>push_back</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a91cce609f9066b01ddc7d3ca417cc661</anchor>
      <arglist>(T val)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a7c7523039da1f1414e8ba68cbeed99dd</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::array&lt; T, N &gt;</type>
      <name>_array</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>a2622f89f220d9dea24f5d8729bc48f40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>_size</name>
      <anchorfile>classRosIntrospection_1_1InlinedVector.html</anchorfile>
      <anchor>af6dd07177beae7000f0d2c541ad771b0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::Parser</name>
    <filename>classRosIntrospection_1_1Parser.html</filename>
    <class kind="struct">RosIntrospection::Parser::RulesCache</class>
    <member kind="typedef">
      <type>std::function&lt; void(const ROSType &amp;, absl::Span&lt; uint8_t &gt; &amp;)&gt;</type>
      <name>VisitingCallback</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>af6e72d8c09b409529b004df45bf5bfb4</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>applyNameTransform</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a298e6d5f5f0ac450d5c383209c2c8d4c</anchor>
      <arglist>(const std::string &amp;msg_identifier, const FlatMessage &amp;container, RenamedValues *renamed_value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>applyVisitorToBuffer</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a55a599326087c80d0ac62ffc03d1c8a0</anchor>
      <arglist>(const std::string &amp;msg_identifier, const ROSType &amp;monitored_type, absl::Span&lt; uint8_t &gt; &amp;buffer, VisitingCallback callback) const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>deserializeIntoFlatContainer</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>ad5baf6ef6f00cf81e7784c144dcf7692</anchor>
      <arglist>(const std::string &amp;msg_identifier, absl::Span&lt; uint8_t &gt; buffer, FlatMessage *flat_container_output, const uint32_t max_array_size) const </arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>extractField</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>afa4cbd42d75baf5e2e1c9f1bc9b11fa2</anchor>
      <arglist>(const std::string &amp;msg_identifier, const absl::Span&lt; uint8_t &gt; &amp;buffer)</arglist>
    </member>
    <member kind="function">
      <type>const ROSMessage *</type>
      <name>getMessageByType</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a3668dc0045d20f7e0b5993d7e90f2098</anchor>
      <arglist>(const ROSType &amp;type, const ROSMessageInfo &amp;info) const </arglist>
    </member>
    <member kind="function">
      <type>const ROSMessageInfo *</type>
      <name>getMessageInfo</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a1b04a2263c0121314df36439bb8e913b</anchor>
      <arglist>(const std::string &amp;msg_identifier) const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Parser</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a2eee7f0963b6d149ad9d2aa4db00f3bc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>registerMessageDefinition</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>aaa2622a7593656274f437ac946e47611</anchor>
      <arglist>(const std::string &amp;message_identifier, const ROSType &amp;main_type, const std::string &amp;definition)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>registerRenamingRules</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a5ccd5839abb81fd1876e9f916d5bcca7</anchor>
      <arglist>(const ROSType &amp;type, const std::vector&lt; SubstitutionRule &gt; &amp;rules)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxArrayPolicy</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a141665640f940b93a98c30bbedca360c</anchor>
      <arglist>(bool discard_entire_array)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setWarningsStream</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a7c4fbf582bb95778cb3ce43b2de801a9</anchor>
      <arglist>(std::ostream *output)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>createTrees</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a515f5ba7a55b4499ef25345431a6ffe9</anchor>
      <arglist>(ROSMessageInfo &amp;info, const std::string &amp;type_name) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>updateRuleCache</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a926898b6fbff6328d3c4fa1448b1274d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; int &gt;</type>
      <name>_alias_array_pos</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>aa416f1aaf121c3c8281cd5523d8c9aae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>_discard_large_array</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>aa2374e9aa9e5060cd1e51dd5a2e99cf6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; std::string &gt;</type>
      <name>_formatted_string</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>af93b8fc66b6c120781192693e68738bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::ostream *</type>
      <name>_global_warnings</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a35fe1fc609bdb5c3b1ab526152148245</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; std::string, ROSMessageInfo &gt;</type>
      <name>_registered_messages</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a449b7021f7e309a6526e6ac9a32f922f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; ROSType, std::unordered_set&lt; SubstitutionRule &gt; &gt;</type>
      <name>_registered_rules</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a5de3064e6df7296dc73bd05ac0a64548</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>_rule_cache_dirty</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a655778888a17a30c0cfc98a778003a7e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; std::string, std::vector&lt; RulesCache &gt; &gt;</type>
      <name>_rule_caches</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>a2ffa5c499f46bda4ebeb47a541572136</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; int8_t &gt;</type>
      <name>_substituted</name>
      <anchorfile>classRosIntrospection_1_1Parser.html</anchorfile>
      <anchor>ad937695b08cef94864553528356560a0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::Parser::RulesCache</name>
    <filename>structRosIntrospection_1_1Parser_1_1RulesCache.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structRosIntrospection_1_1Parser_1_1RulesCache.html</anchorfile>
      <anchor>afee00548c1180f17caf62ebcfddb8825</anchor>
      <arglist>(const RulesCache &amp;other)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>RulesCache</name>
      <anchorfile>structRosIntrospection_1_1Parser_1_1RulesCache.html</anchorfile>
      <anchor>a75e24343d1405527e05e2d0cbe71a319</anchor>
      <arglist>(const SubstitutionRule &amp;r)</arglist>
    </member>
    <member kind="variable">
      <type>const StringTreeNode *</type>
      <name>alias_head</name>
      <anchorfile>structRosIntrospection_1_1Parser_1_1RulesCache.html</anchorfile>
      <anchor>a9a8fa8f76ee130ad5f7ebd8b5ac3923c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const StringTreeNode *</type>
      <name>pattern_head</name>
      <anchorfile>structRosIntrospection_1_1Parser_1_1RulesCache.html</anchorfile>
      <anchor>ab118aa64a073025280908e43a904d359</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const SubstitutionRule *</type>
      <name>rule</name>
      <anchorfile>structRosIntrospection_1_1Parser_1_1RulesCache.html</anchorfile>
      <anchor>acdc1b6e27e632a0510ef3a06eb47b270</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::RangeException</name>
    <filename>classRosIntrospection_1_1RangeException.html</filename>
    <member kind="function">
      <type></type>
      <name>RangeException</name>
      <anchorfile>classRosIntrospection_1_1RangeException.html</anchorfile>
      <anchor>a04a1ba498e79d50b9940300d23b0061e</anchor>
      <arglist>(const char *message)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>RangeException</name>
      <anchorfile>classRosIntrospection_1_1RangeException.html</anchorfile>
      <anchor>a8c75541460beb35c92ca64977c952c7b</anchor>
      <arglist>(const std::string &amp;message)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>what</name>
      <anchorfile>classRosIntrospection_1_1RangeException.html</anchorfile>
      <anchor>a787898394dfb99036ff60819c718730b</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~RangeException</name>
      <anchorfile>classRosIntrospection_1_1RangeException.html</anchorfile>
      <anchor>a52b7239926f3ca18feaea2c9e6705f90</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>msg_</name>
      <anchorfile>classRosIntrospection_1_1RangeException.html</anchorfile>
      <anchor>af89a2dd5b0bbed77880311e20ebedb1e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::ROSField</name>
    <filename>classRosIntrospection_1_1ROSField.html</filename>
    <member kind="function">
      <type>int</type>
      <name>arraySize</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a44342d083a9da35bdaeee539cce84932</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isArray</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a199d0af8eb59331c7acea1420c56c19a</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isConstant</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a3baec18f53ce59eca6887278eb9dc26c</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>name</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a60d2cea8e7fc9033fdc3cbdb4175db6e</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ROSField</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>ae6bb619e58f0fa156ff0a01827d2f96c</anchor>
      <arglist>(const std::string &amp;definition)</arglist>
    </member>
    <member kind="function">
      <type>const ROSType &amp;</type>
      <name>type</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a406ad430e1239f35deed34a8b9a00416</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>value</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a952996971590f2e9bbc0c40ecff320b3</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>_array_size</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>ae8a7094c9f074d9a1c20510a63401365</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>_fieldname</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>acec989da1ed4ac361daab100436e2cd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ROSType</type>
      <name>_type</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a4142673e85e9466c727a0b05893b3474</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>_value</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>aaac1a0e77bc2eec41f7c5813a6b5177c</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend class</type>
      <name>ROSMessage</name>
      <anchorfile>classRosIntrospection_1_1ROSField.html</anchorfile>
      <anchor>a54006eda61e58dce424d235bb338b051</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::ROSMessage</name>
    <filename>classRosIntrospection_1_1ROSMessage.html</filename>
    <member kind="function">
      <type>const ROSField &amp;</type>
      <name>field</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>af01552e4c8edc90f9d0a8b061040e338</anchor>
      <arglist>(size_t index) const </arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; ROSField &gt; &amp;</type>
      <name>fields</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>ad34b6cde9b54e4a37222c02f0653f019</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mutateType</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>aea2ad8b3d17969f22bd80b2b5d9d9849</anchor>
      <arglist>(const ROSType &amp;new_type)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ROSMessage</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>a4c4ff7cd0b1d3b942ccec50c5d87bf95</anchor>
      <arglist>(const std::string &amp;msg_def)</arglist>
    </member>
    <member kind="function">
      <type>const ROSType &amp;</type>
      <name>type</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>a5cf7efbd4f4943edaf30364fcab4e083</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateMissingPkgNames</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>af2e075c4fd9b5d19a1b066fe7b2f3762</anchor>
      <arglist>(const std::vector&lt; const ROSType * &gt; &amp;all_types)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; ROSField &gt;</type>
      <name>_fields</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>a69ccb30aa772f253d9190e2b73c6ac82</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ROSType</type>
      <name>_type</name>
      <anchorfile>classRosIntrospection_1_1ROSMessage.html</anchorfile>
      <anchor>a7f89e31dc2312e3543a5975c98a816ed</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::ROSMessageInfo</name>
    <filename>structRosIntrospection_1_1ROSMessageInfo.html</filename>
    <member kind="variable">
      <type>MessageTree</type>
      <name>message_tree</name>
      <anchorfile>structRosIntrospection_1_1ROSMessageInfo.html</anchorfile>
      <anchor>a2429ce02ef62bcb4cde53d1053b45e7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>StringTree</type>
      <name>string_tree</name>
      <anchorfile>structRosIntrospection_1_1ROSMessageInfo.html</anchorfile>
      <anchor>a96e5787d99826d1751ebe908416a74e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; ROSMessage &gt;</type>
      <name>type_list</name>
      <anchorfile>structRosIntrospection_1_1ROSMessageInfo.html</anchorfile>
      <anchor>a884ead8f6c2f88dfbe89164e2157fabb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::ROSType</name>
    <filename>classRosIntrospection_1_1ROSType.html</filename>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>baseName</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>aa770a25f5c184d6819d508cfa394456e</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>hash</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a06975cac09d1dd7ec31226ed4a978652</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isBuiltin</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a5b684e08d49a2636988f37fb46129ad4</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const absl::string_view &amp;</type>
      <name>msgName</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a6bc96fada77deba95235b72275f2195f</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>afe035a0dc5d16cb6357556e423cd2cef</anchor>
      <arglist>(const ROSType &amp;other) const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator&lt;</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a665b827f5c14bce8f7978b1155188c84</anchor>
      <arglist>(const ROSType &amp;other) const </arglist>
    </member>
    <member kind="function">
      <type>ROSType &amp;</type>
      <name>operator=</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a0661610f58949e11a39da81ac9006edb</anchor>
      <arglist>(const ROSType &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>ROSType &amp;</type>
      <name>operator=</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a0a13101f6647372bd3a7fe4dd9f0abcf</anchor>
      <arglist>(ROSType &amp;&amp;other)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>ada70628e5a208213e4532cd291f889fa</anchor>
      <arglist>(const ROSType &amp;other) const </arglist>
    </member>
    <member kind="function">
      <type>const absl::string_view &amp;</type>
      <name>pkgName</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>acd81a628945efafa9445fb2ce958a81b</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ROSType</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a899f0e0e746701fb07b9c7da673f811c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ROSType</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a287422913a93b3581f6950a36e626a67</anchor>
      <arglist>(absl::string_view name)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ROSType</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a0c8cb645835a17e99d8e9843c7e60713</anchor>
      <arglist>(const ROSType &amp;other)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ROSType</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>ad5b0cb0bdbdba2978583fa9338cc8a7c</anchor>
      <arglist>(ROSType &amp;&amp;other)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPkgName</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a4e204718c8e74be0a4da8898082d2570</anchor>
      <arglist>(absl::string_view new_pkg)</arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>typeID</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a4a4c2db52759a87de4a60172953b3ce5</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>typeSize</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a21ccec2c7e9d8a61033506935716b997</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>_base_name</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a4d5fb5ea964cf4f5cdbfa9edfa40d9ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>size_t</type>
      <name>_hash</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a97844d2c9b880696684ef17029b97995</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>BuiltinType</type>
      <name>_id</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a9e2f35f312b706de3a232e08527b6097</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>absl::string_view</type>
      <name>_msg_name</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>a01bc368cdcfe87cf432bb875c9058175</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>absl::string_view</type>
      <name>_pkg_name</name>
      <anchorfile>classRosIntrospection_1_1ROSType.html</anchorfile>
      <anchor>adb2ff5a164a28bcc3a76be85aa899183</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::ShapeShifter</name>
    <filename>classRosIntrospection_1_1ShapeShifter.html</filename>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ShapeShifter const  &gt;</type>
      <name>ConstPtr</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>ab4abc8b887f267bc5a4173c3b012670b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ShapeShifter &gt;</type>
      <name>Ptr</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a59aa508c82f04e70677003a9d90af75e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>ros::Publisher</type>
      <name>advertise</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a0211e798b03c61bd3daefdb9d0223902</anchor>
      <arglist>(ros::NodeHandle &amp;nh, const std::string &amp;topic, uint32_t queue_size, bool latch=false, const ros::SubscriberStatusCallback &amp;connect_cb=ros::SubscriberStatusCallback()) const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>direct_read</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>ae02d924b50b4b482985512a4c83945f5</anchor>
      <arglist>(const Message &amp;msg, bool morph)</arglist>
    </member>
    <member kind="function">
      <type>std::string const &amp;</type>
      <name>getDataType</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a577fca67a234b04411269fe8dcd02246</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>std::string const &amp;</type>
      <name>getMD5Sum</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a5ba72ebedf2ecb5e20b7db5850eb38da</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>std::string const &amp;</type>
      <name>getMessageDefinition</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a367b8949498375315ca02de7f096d716</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>instantiate</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>ac811f51a6011f4678da40d56e3ee2a76</anchor>
      <arglist>(M &amp;destination) const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>morph</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a21f9c51f761eef7211d940644d472f87</anchor>
      <arglist>(const std::string &amp;md5sum, const std::string &amp;datatype_, const std::string &amp;msg_def_)</arglist>
    </member>
    <member kind="function">
      <type>const uint8_t *</type>
      <name>raw_data</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a8a7784a94e20b5a37a4f4bc4ff347740</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a1e4118181827e1574a10383c2f2b2f4b</anchor>
      <arglist>(Stream &amp;stream)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ShapeShifter</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a7e9a6d2f2dba6bccbca1fe6600247113</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>size</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>ad78a719214af401ef8a1945cf9e988aa</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a1200f3e7880ee6b5ae5c56b8508b0cb6</anchor>
      <arglist>(Stream &amp;stream) const </arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ShapeShifter</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a32d790dd835b1e3e9092a1471c28a4c8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>uses_old_API_</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>ae4f73736768b307fe7f6acab24c35547</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::flyweight&lt; std::string &gt;</type>
      <name>datatype_</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>aa334acfffdff9b41f4b5a8d81b0fd81b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::flyweight&lt; std::string &gt;</type>
      <name>md5_</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a4aaa3267028c7121b20bd8b1e4a80b0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::flyweight&lt; std::string &gt;</type>
      <name>msg_def_</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a16b5ecf99d0ba7471749ba4d5af3148b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>msgBuf_</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a7516e2c746adf9a6ec22d0919e355458</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>typed_</name>
      <anchorfile>classRosIntrospection_1_1ShapeShifter.html</anchorfile>
      <anchor>a96cce25f9c3628c908231a12fd51a2b2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::StringTreeLeaf</name>
    <filename>structRosIntrospection_1_1StringTreeLeaf.html</filename>
    <member kind="function">
      <type></type>
      <name>StringTreeLeaf</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>aecbbb9c470afaa8d13fe155c36af3fac</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>toStdString</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a535e421b99c313780e370e09d95f26fc</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>toStr</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a2506542723734c5a43a20afe6f3e4e1a</anchor>
      <arglist>(std::string &amp;destination) const </arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>toStr</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a4e3b03ccce908926055585cb3d24e979</anchor>
      <arglist>(char *buffer) const </arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const absl::string_view &amp;</type>
      <name>num_placeholder</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a20306df651b69051540b2267da672aa7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>InlinedVector&lt; uint16_t, 8 &gt;</type>
      <name>index_array</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a15596797b8214fca620055e36c91bb67</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const StringTreeNode *</type>
      <name>node_ptr</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>aaf8c39ea7ad0f51d08107fce8d6ac69f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr const char</type>
      <name>NUM_PLACEHOLDER</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a5f3787b8aab34a41c26ec7f4a398d103</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr const char</type>
      <name>SEPARATOR</name>
      <anchorfile>structRosIntrospection_1_1StringTreeLeaf.html</anchorfile>
      <anchor>a0be10800959316bc5795df1995125360</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::SubstitutionRule</name>
    <filename>classRosIntrospection_1_1SubstitutionRule.html</filename>
    <member kind="function">
      <type>const std::vector&lt; absl::string_view &gt; &amp;</type>
      <name>alias</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a8b32877acf65a8f9bb811472df759b9a</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>hash</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a64cd9c26ab619faf1638733843de772e</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>SubstitutionRule &amp;</type>
      <name>operator=</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a2263bed36739e80453ab0e7943e47467</anchor>
      <arglist>(const SubstitutionRule &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a825fdb69ebac0da1f00670770871878b</anchor>
      <arglist>(const SubstitutionRule &amp;other) const </arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; absl::string_view &gt; &amp;</type>
      <name>pattern</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>abe5e32ec44030275f0e0e22aaa5d26d6</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; absl::string_view &gt; &amp;</type>
      <name>substitution</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a9734825762fde9341cf645e4d2cbb116</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SubstitutionRule</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a6a3f1b0dcad19459a6d6119fab2b641d</anchor>
      <arglist>(const char *pattern, const char *alias, const char *substitution)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SubstitutionRule</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a9522c0d7e6f6acc02973246f6082f043</anchor>
      <arglist>(const SubstitutionRule &amp;other)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; absl::string_view &gt;</type>
      <name>_alias</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a1f4583a2bb88b1ac8ff30462fea6cdc6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>_full_alias</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>adfad6ee7bf20e45f9e7bb53e98aff1ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>_full_pattern</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a74e390edc6f04bb5adf6095b0a12a6d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>_full_substitution</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a16c96cd6de39e0f7bf1d2d04733b8beb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>_hash</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>a08f45f614223880544ceb74eff296443</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; absl::string_view &gt;</type>
      <name>_pattern</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>ac1d2e1b5e095198047e0e1951cefd8d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; absl::string_view &gt;</type>
      <name>_substitution</name>
      <anchorfile>classRosIntrospection_1_1SubstitutionRule.html</anchorfile>
      <anchor>ae1d753bf6fee83e404d6f7c8d99aba04</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::TypeException</name>
    <filename>classRosIntrospection_1_1TypeException.html</filename>
    <member kind="function">
      <type></type>
      <name>TypeException</name>
      <anchorfile>classRosIntrospection_1_1TypeException.html</anchorfile>
      <anchor>aa162875375c9d29525f2523528bdb1fa</anchor>
      <arglist>(const char *message)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TypeException</name>
      <anchorfile>classRosIntrospection_1_1TypeException.html</anchorfile>
      <anchor>a4a98a9439723adb30cab780274a38e45</anchor>
      <arglist>(const std::string &amp;message)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>what</name>
      <anchorfile>classRosIntrospection_1_1TypeException.html</anchorfile>
      <anchor>abd499b6bd299ae7fae3ead315996a2b7</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~TypeException</name>
      <anchorfile>classRosIntrospection_1_1TypeException.html</anchorfile>
      <anchor>a570d9e0acede47e80b632e1e7fe0ea72</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>msg_</name>
      <anchorfile>classRosIntrospection_1_1TypeException.html</anchorfile>
      <anchor>a3746afaaa49cc6e3f389b4ea926726d7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::Variant</name>
    <filename>classRosIntrospection_1_1Variant.html</filename>
    <member kind="function">
      <type>void</type>
      <name>assign</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a13c50f703a94a5be3b8632c5c9768b50</anchor>
      <arglist>(const T &amp;value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>assign</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a1df86a98b47d31bf83691b6029ba7401</anchor>
      <arglist>(const char *buffer, size_t length)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>assign</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a3c19fbef7e578f726ef05cdce209b014</anchor>
      <arglist>(const absl::string_view &amp;value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>assign</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a0bcc775452ac1466f9fafc12abd06354</anchor>
      <arglist>(const std::string &amp;value)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>convert</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a234e7829c5ccc8167cb00f42e22d7e17</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>extract</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a358a20c3b90688f8273be1080937af12</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>BuiltinType</type>
      <name>getTypeID</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a7e94dbe446d326197f6f730b93b2a3ba</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>Variant &amp;</type>
      <name>operator=</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>adf6b79414ce675766402cc3a30113129</anchor>
      <arglist>(const Variant &amp;other)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Variant</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a81335f2f8cba031167cf7c75913f67a4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Variant</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>adac34f219a85899c5eecdb1646a9678f</anchor>
      <arglist>(const Variant &amp;other)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Variant</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a713e1b322e9d7d598de5d82dc8029154</anchor>
      <arglist>(Variant &amp;&amp;other)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Variant</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>ac19bffd403a4997d9d17140f48598633</anchor>
      <arglist>(const T &amp;value)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Variant</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>afb79d9bf87c17d63638443a485eeb6bb</anchor>
      <arglist>(const char *buffer, size_t length)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Variant</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a2621607ae3ffdc8972a07eeffcc678be</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>clearStringIfNecessary</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a8401be000a7475b70266a9e6ad2d1468</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>union RosIntrospection::Variant::@0</type>
      <name>_storage</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>ab7658579486651b93668388b81c05940</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; uint8_t, 8 &gt;</type>
      <name>raw_data</name>
      <anchorfile>unionRosIntrospection_1_1Variant_1_1@0.html</anchorfile>
      <anchor>a6549ee3d9645ac58dd728d89421163a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>raw_string</name>
      <anchorfile>unionRosIntrospection_1_1Variant_1_1@0.html</anchorfile>
      <anchor>a4a1f12b2339a8f5202a90f0d779f64bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>BuiltinType</type>
      <name>_type</name>
      <anchorfile>classRosIntrospection_1_1Variant.html</anchorfile>
      <anchor>a6b84fac9c964e20cb0a83cf0ea3f9267</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>RosIntrospection::details</name>
    <filename>namespaceRosIntrospection_1_1details.html</filename>
    <class kind="struct">RosIntrospection::details::is_integer</class>
    <class kind="struct">RosIntrospection::details::is_safe_integer_conversion</class>
    <class kind="struct">RosIntrospection::details::is_same_real</class>
    <class kind="class">RosIntrospection::details::Tree</class>
    <class kind="class">RosIntrospection::details::TreeNode</class>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceRosIntrospection_1_1details.html</anchorfile>
      <anchor>a9b506ab634ff6de574873a0c85523dfb</anchor>
      <arglist>(std::ostream &amp;os, const std::pair&lt; const TreeNode&lt; T &gt; *, const TreeNode&lt; T &gt; * &gt; &amp;tail_head)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::details::is_integer</name>
    <filename>structRosIntrospection_1_1details_1_1is__integer.html</filename>
    <templarg></templarg>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::details::is_safe_integer_conversion</name>
    <filename>structRosIntrospection_1_1details_1_1is__safe__integer__conversion.html</filename>
    <templarg></templarg>
    <templarg></templarg>
  </compound>
  <compound kind="struct">
    <name>RosIntrospection::details::is_same_real</name>
    <filename>structRosIntrospection_1_1details_1_1is__same__real.html</filename>
    <templarg></templarg>
    <templarg></templarg>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::details::Tree</name>
    <filename>classRosIntrospection_1_1details_1_1Tree.html</filename>
    <templarg>T</templarg>
    <member kind="function">
      <type>const TreeNode&lt; T &gt; *</type>
      <name>croot</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>a920bd4533d704fafaf5157943f010042</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const TreeNode&lt; T &gt; *</type>
      <name>find</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>a1813e49a01c7705b1d5e5ee3df5250cd</anchor>
      <arglist>(const Vect &amp;concatenated_values, bool partial_allowed=false)</arglist>
    </member>
    <member kind="function">
      <type>TreeNode&lt; T &gt; *</type>
      <name>root</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>a9d193b85d18a66f3751466d6b07a6387</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Tree</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>a74b94ced966aca43527df3308a14943a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>print_impl</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>aa8947200c99da56da2b4ac2c118e5d90</anchor>
      <arglist>(std::ostream &amp;os, const TreeNode&lt; T &gt; *node, int indent) const </arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; TreeNode&lt; T &gt; &gt;</type>
      <name>_root</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>aa083abfe3937b671432860b4006a4d9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classRosIntrospection_1_1details_1_1Tree.html</anchorfile>
      <anchor>a118a4b683835b1b6c6204ba79e81b3f7</anchor>
      <arglist>(std::ostream &amp;os, const Tree &amp;_this)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>RosIntrospection::details::TreeNode</name>
    <filename>classRosIntrospection_1_1details_1_1TreeNode.html</filename>
    <templarg>T</templarg>
    <member kind="typedef">
      <type>std::vector&lt; TreeNode &gt;</type>
      <name>ChildrenVector</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a34eb71dbf481335d07bb42669e98641d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>TreeNode *</type>
      <name>addChild</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a49b0d035e47e8a7a5489f483d4259219</anchor>
      <arglist>(const T &amp;child)</arglist>
    </member>
    <member kind="function">
      <type>const TreeNode *</type>
      <name>child</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a0d947315ec6b14f6b7a00e9f79eba6f8</anchor>
      <arglist>(size_t index) const </arglist>
    </member>
    <member kind="function">
      <type>TreeNode *</type>
      <name>child</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>acd5a30daf2da4a12342b7b497da069e8</anchor>
      <arglist>(size_t index)</arglist>
    </member>
    <member kind="function">
      <type>const ChildrenVector &amp;</type>
      <name>children</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>ac4f9dff76e75aae8442486141be169b9</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>ChildrenVector &amp;</type>
      <name>children</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>ad87a5c0c3e3b7284eddc696f0d34c7b7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isLeaf</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a90086f8bf004f05cf0a876c3088472f1</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const TreeNode *</type>
      <name>parent</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a29fb0dd28fcc0cbf60855b4d154db09f</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setValue</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a740e6cba1536a22b14667d4908d28c32</anchor>
      <arglist>(const T &amp;value)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TreeNode</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a54f6a30a38f312c5366200680d8cb323</anchor>
      <arglist>(const TreeNode *parent)</arglist>
    </member>
    <member kind="function">
      <type>const T &amp;</type>
      <name>value</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a8c8aaefcfd303d3a4f577279f347c6c2</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ChildrenVector</type>
      <name>_children</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a47f4a481813ddf9f7a62f932343306e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const TreeNode *</type>
      <name>_parent</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a15f261e5f1cd714db1e76cf721333996</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>T</type>
      <name>_value</name>
      <anchorfile>classRosIntrospection_1_1details_1_1TreeNode.html</anchorfile>
      <anchor>a7c14fb5a3dff8e4fb50b3aefe5cadbc2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>std::hash&lt; RosIntrospection::ROSType &gt;</name>
    <filename>structstd_1_1hash_3_01RosIntrospection_1_1ROSType_01_4.html</filename>
    <member kind="typedef">
      <type>RosIntrospection::ROSType</type>
      <name>argument_type</name>
      <anchorfile>structstd_1_1hash_3_01RosIntrospection_1_1ROSType_01_4.html</anchorfile>
      <anchor>a792dc121c0d541749cde88ad5366157b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::size_t</type>
      <name>result_type</name>
      <anchorfile>structstd_1_1hash_3_01RosIntrospection_1_1ROSType_01_4.html</anchorfile>
      <anchor>a2f72a402fbdb6a9fc9db3cec7874799d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>result_type</type>
      <name>operator()</name>
      <anchorfile>structstd_1_1hash_3_01RosIntrospection_1_1ROSType_01_4.html</anchorfile>
      <anchor>ab84c77a58613bbc65c95e0de6165debd</anchor>
      <arglist>(RosIntrospection::ROSType const &amp;type) const </arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>std::hash&lt; RosIntrospection::SubstitutionRule &gt;</name>
    <filename>structstd_1_1hash_3_01RosIntrospection_1_1SubstitutionRule_01_4.html</filename>
    <member kind="typedef">
      <type>RosIntrospection::SubstitutionRule</type>
      <name>argument_type</name>
      <anchorfile>structstd_1_1hash_3_01RosIntrospection_1_1SubstitutionRule_01_4.html</anchorfile>
      <anchor>ac0ae03a59cbb906fac62b70f48c56f9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::size_t</type>
      <name>result_type</name>
      <anchorfile>structstd_1_1hash_3_01RosIntrospection_1_1SubstitutionRule_01_4.html</anchorfile>
      <anchor>af2762fa2102826d5feefb5245b399c75</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>result_type</type>
      <name>operator()</name>
      <anchorfile>structstd_1_1hash_3_01RosIntrospection_1_1SubstitutionRule_01_4.html</anchorfile>
      <anchor>a2bd726416e9248f431cca7444251cfe9</anchor>
      <arglist>(RosIntrospection::SubstitutionRule const &amp;sr) const </arglist>
    </member>
  </compound>
</tagfile>
