<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>batch_optimizer.cpp</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/src/</path>
    <filename>batch__optimizer_8cpp</filename>
    <includes id="batch__optimizer_8h" name="batch_optimizer.h" local="no" imported="no">fuse_optimizers/batch_optimizer.h</includes>
    <includes id="optimizer_8h" name="optimizer.h" local="no" imported="no">fuse_optimizers/optimizer.h</includes>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>batch_optimizer.h</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/include/fuse_optimizers/</path>
    <filename>batch__optimizer_8h</filename>
    <includes id="batch__optimizer__params_8h" name="batch_optimizer_params.h" local="no" imported="no">fuse_optimizers/batch_optimizer_params.h</includes>
    <includes id="optimizer_8h" name="optimizer.h" local="no" imported="no">fuse_optimizers/optimizer.h</includes>
    <class kind="class">fuse_optimizers::BatchOptimizer</class>
    <class kind="struct">fuse_optimizers::BatchOptimizer::TransactionQueueElement</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>batch_optimizer_node.cpp</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/src/</path>
    <filename>batch__optimizer__node_8cpp</filename>
    <includes id="batch__optimizer_8h" name="batch_optimizer.h" local="no" imported="no">fuse_optimizers/batch_optimizer.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>batch__optimizer__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>batch_optimizer_params.h</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/include/fuse_optimizers/</path>
    <filename>batch__optimizer__params_8h</filename>
    <class kind="struct">fuse_optimizers::BatchOptimizerParams</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>fixed_lag_smoother.cpp</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/src/</path>
    <filename>fixed__lag__smoother_8cpp</filename>
    <includes id="fixed__lag__smoother_8h" name="fixed_lag_smoother.h" local="no" imported="no">fuse_optimizers/fixed_lag_smoother.h</includes>
    <includes id="optimizer_8h" name="optimizer.h" local="no" imported="no">fuse_optimizers/optimizer.h</includes>
    <namespace>fuse_optimizers</namespace>
    <member kind="function">
      <type>diagnostic_msgs::DiagnosticStatus</type>
      <name>makeDiagnosticStatus</name>
      <anchorfile>namespacefuse__optimizers.html</anchorfile>
      <anchor>a92ac55b0fb733cf332d45d0613c997c1</anchor>
      <arglist>(const int8_t level, const std::string &amp;message)</arglist>
    </member>
    <member kind="function">
      <type>diagnostic_msgs::DiagnosticStatus</type>
      <name>terminationTypeToDiagnosticStatus</name>
      <anchorfile>namespacefuse__optimizers.html</anchorfile>
      <anchor>a7045cd60b0d17a388ee993c209bddc90</anchor>
      <arglist>(const ceres::TerminationType termination_type)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>fixed_lag_smoother.h</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/include/fuse_optimizers/</path>
    <filename>fixed__lag__smoother_8h</filename>
    <includes id="fixed__lag__smoother__params_8h" name="fixed_lag_smoother_params.h" local="no" imported="no">fuse_optimizers/fixed_lag_smoother_params.h</includes>
    <includes id="optimizer_8h" name="optimizer.h" local="no" imported="no">fuse_optimizers/optimizer.h</includes>
    <includes id="variable__stamp__index_8h" name="variable_stamp_index.h" local="no" imported="no">fuse_optimizers/variable_stamp_index.h</includes>
    <class kind="class">fuse_optimizers::FixedLagSmoother</class>
    <class kind="struct">fuse_optimizers::FixedLagSmoother::TransactionQueueElement</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>fixed_lag_smoother_node.cpp</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/src/</path>
    <filename>fixed__lag__smoother__node_8cpp</filename>
    <includes id="fixed__lag__smoother_8h" name="fixed_lag_smoother.h" local="no" imported="no">fuse_optimizers/fixed_lag_smoother.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>fixed__lag__smoother__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>fixed_lag_smoother_params.h</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/include/fuse_optimizers/</path>
    <filename>fixed__lag__smoother__params_8h</filename>
    <class kind="struct">fuse_optimizers::FixedLagSmootherParams</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>optimizer.cpp</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/src/</path>
    <filename>optimizer_8cpp</filename>
    <includes id="optimizer_8h" name="optimizer.h" local="no" imported="no">fuse_optimizers/optimizer.h</includes>
    <class kind="struct">fuse_optimizers::PluginConfig</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>optimizer.h</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/include/fuse_optimizers/</path>
    <filename>optimizer_8h</filename>
    <class kind="class">fuse_optimizers::Optimizer</class>
    <class kind="struct">fuse_optimizers::Optimizer::SensorModelInfo</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>variable_stamp_index.cpp</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/src/</path>
    <filename>variable__stamp__index_8cpp</filename>
    <includes id="variable__stamp__index_8h" name="variable_stamp_index.h" local="no" imported="no">fuse_optimizers/variable_stamp_index.h</includes>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="file">
    <name>variable_stamp_index.h</name>
    <path>/tmp/ws/src/fuse/fuse_optimizers/include/fuse_optimizers/</path>
    <filename>variable__stamp__index_8h</filename>
    <class kind="class">fuse_optimizers::VariableStampIndex</class>
    <namespace>fuse_optimizers</namespace>
  </compound>
  <compound kind="class">
    <name>fuse_optimizers::BatchOptimizer</name>
    <filename>classfuse__optimizers_1_1BatchOptimizer.html</filename>
    <base>fuse_optimizers::Optimizer</base>
    <class kind="struct">fuse_optimizers::BatchOptimizer::TransactionQueueElement</class>
    <member kind="typedef">
      <type>BatchOptimizerParams</type>
      <name>ParameterType</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>ae5e0ed60892363ae1b22a73fd7d7f92c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BatchOptimizer</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>abc919250571988820a998b1a84227fa5</anchor>
      <arglist>(fuse_core::Graph::UniquePtr graph, const ros::NodeHandle &amp;node_handle=ros::NodeHandle(), const ros::NodeHandle &amp;private_node_handle=ros::NodeHandle(&quot;~&quot;))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FUSE_SMART_PTR_DEFINITIONS</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a825c9d3825cae4c5393024ab14c3688f</anchor>
      <arglist>(BatchOptimizer)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~BatchOptimizer</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a44255e1321dd8244dac3606c600abc36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::multimap&lt; ros::Time, TransactionQueueElement &gt;</type>
      <name>TransactionQueue</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a2c7d94e20f0751e8247775ab7c599506</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>applyMotionModelsToQueue</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a5de35a6d1c514c7d9f4b4324c255395b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>optimizationLoop</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a40c039f86f8318d70d4026c06c2d3d5d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>optimizerTimerCallback</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a04da744cafa9c2f3070c1422ec0663aa</anchor>
      <arglist>(const ros::TimerEvent &amp;event)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setDiagnostics</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>afd3b452fd84ab88870526955f6b0e08c</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;status) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>transactionCallback</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>ac0f4d9b92674484f11180088035b7f7b</anchor>
      <arglist>(const std::string &amp;sensor_name, fuse_core::Transaction::SharedPtr transaction) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>fuse_core::Transaction::SharedPtr</type>
      <name>combined_transaction_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>acb9713e8ede0695381238ede39859194</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>combined_transaction_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>abd341da9ebd64e3706a8b1c16d524588</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::atomic&lt; bool &gt;</type>
      <name>optimization_request_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a6f2a20176ec7e2771bba656238f13569</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::condition_variable</type>
      <name>optimization_requested_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a254f085b542167a2ca39fed6398adce4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>optimization_requested_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a791f1c34e6f141f3aef3845d19ef2e3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::thread</type>
      <name>optimization_thread_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a8eb71b74c89554b435581190f154a93f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Timer</type>
      <name>optimize_timer_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>ab869401796e374acf22bb99e27d65e04</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ParameterType</type>
      <name>params_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a8e43791a3b3090775a1462314a774f65</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>TransactionQueue</type>
      <name>pending_transactions_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a13c7428f4fc184cdfcfc5d0d844b057b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>pending_transactions_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>a46d2cc82ffa38da3aa5c3e8804800517</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>start_time_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>ade1b3757dc484af4c219dc25e14bbf08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>started_</name>
      <anchorfile>classfuse__optimizers_1_1BatchOptimizer.html</anchorfile>
      <anchor>af2f4f731b7a954a011e67a969ca5426f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>fuse_optimizers::BatchOptimizerParams</name>
    <filename>structfuse__optimizers_1_1BatchOptimizerParams.html</filename>
    <member kind="function">
      <type>void</type>
      <name>loadFromROS</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizerParams.html</anchorfile>
      <anchor>a31e704384666f7d98ca77204f7cc54c6</anchor>
      <arglist>(const ros::NodeHandle &amp;nh)</arglist>
    </member>
    <member kind="variable">
      <type>ros::Duration</type>
      <name>optimization_period</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizerParams.html</anchorfile>
      <anchor>a61102d06777456b99327a9675db23a44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ceres::Solver::Options</type>
      <name>solver_options</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizerParams.html</anchorfile>
      <anchor>a58a80e34e07116a45b1ddf920dd731d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Duration</type>
      <name>transaction_timeout</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizerParams.html</anchorfile>
      <anchor>a5ce8aa6f43deeda6ae993155315febea</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>fuse_optimizers::FixedLagSmoother</name>
    <filename>classfuse__optimizers_1_1FixedLagSmoother.html</filename>
    <base>fuse_optimizers::Optimizer</base>
    <class kind="struct">fuse_optimizers::FixedLagSmoother::TransactionQueueElement</class>
    <member kind="typedef">
      <type>FixedLagSmootherParams</type>
      <name>ParameterType</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a7eeed366060f253615680d787cc2285c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FixedLagSmoother</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a7721d35c3a7505d60d4247a1ce83c6bf</anchor>
      <arglist>(fuse_core::Graph::UniquePtr graph, const ros::NodeHandle &amp;node_handle=ros::NodeHandle(), const ros::NodeHandle &amp;private_node_handle=ros::NodeHandle(&quot;~&quot;))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FUSE_SMART_PTR_DEFINITIONS</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ac8c9c0511d7a6659736af2fa7b159335</anchor>
      <arglist>(FixedLagSmoother)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~FixedLagSmoother</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ae4c4489e6496e9dcbf4efee801ce03a0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::vector&lt; TransactionQueueElement &gt;</type>
      <name>TransactionQueue</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ad9453ca9228a345b2bb74f2aff787492</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>autostart</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ae0a1f9d150367a2692a30be4abb0ac4b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>ros::Time</type>
      <name>computeLagExpirationTime</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ab3b2e08230bea78ca2b6e91fa66692ce</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; fuse_core::UUID &gt;</type>
      <name>computeVariablesToMarginalize</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a25983bd08416a5e4d3857d80ab261520</anchor>
      <arglist>(const ros::Time &amp;lag_expiration)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>ros::Time</type>
      <name>getStartTime</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>afedb88a6b3c33ded9c2056b54e543de5</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>optimizationLoop</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>abe74aeb2030ae37acea87e6fc11043db</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>optimizerTimerCallback</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a69b958d77bb8d3270d8dbe1439da48be</anchor>
      <arglist>(const ros::TimerEvent &amp;event)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>postprocessMarginalization</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ade6aefcda042b40a8cd3bea1a02910bf</anchor>
      <arglist>(const fuse_core::Transaction &amp;marginal_transaction)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>preprocessMarginalization</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a2499005411499daa291fde41cc052243</anchor>
      <arglist>(const fuse_core::Transaction &amp;new_transaction)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>processQueue</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>aefa520ce8577f2c8b6809e1105a887a8</anchor>
      <arglist>(fuse_core::Transaction &amp;transaction, const ros::Time &amp;lag_expiration)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>resetServiceCallback</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a3b53ee6df137c5d2279801d3a9c6a58a</anchor>
      <arglist>(std_srvs::Empty::Request &amp;, std_srvs::Empty::Response &amp;)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setDiagnostics</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a218bfd7d3d3932b3e6ee9dbe27feaa81</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;status) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setStartTime</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a2193ee33a6e17e254124d4310840faca</anchor>
      <arglist>(const ros::Time &amp;start_time)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>transactionCallback</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a04ac03dc5c472db9a4f80829f2f0ad2a</anchor>
      <arglist>(const std::string &amp;sensor_name, fuse_core::Transaction::SharedPtr transaction) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::atomic&lt; bool &gt;</type>
      <name>ignited_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a76ae6e337602c6950c4f1f632ac970ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>lag_expiration_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a53872e55de228486212452609736d803</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>fuse_core::Transaction</type>
      <name>marginal_transaction_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a8676c7d39d549f28b6be035fc6ee3ca9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>optimization_deadline_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a180ce87ffb37501cf14f93cb3f752f48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>optimization_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>aeda0eaad03a679fa31a1dabfc686ad71</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>optimization_request_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a7489f390198df1f5be80de88d088aaca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::condition_variable</type>
      <name>optimization_requested_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a67e542fce0beb54ed45f0baf1487ed68</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>optimization_requested_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a8ef7123ec4b3563262e7263742ccb2c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::atomic&lt; bool &gt;</type>
      <name>optimization_running_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a968d8e84f0df3e969944776b597b9269</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::thread</type>
      <name>optimization_thread_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a2b3498371f71f5216a8ad967be1377a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Timer</type>
      <name>optimize_timer_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a6b50922d2dd0e45ef4c5173175c76319</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ParameterType</type>
      <name>params_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a5233f72b1f4fceda5dde78e41f028ef7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>TransactionQueue</type>
      <name>pending_transactions_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>af870cae6fe7a2fc2092b8c3a735258f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>pending_transactions_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a05078eb0d5e2a0b94c3000d99a7d53eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>reset_service_server_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a001557c17dfada2a8e06163f9737dc11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>start_time_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a68ac5640583589e4ae1e8a7152e84c7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>start_time_mutex_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>ac0a2fc568115babf1de8bab9b7470d7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::atomic&lt; bool &gt;</type>
      <name>started_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a49903112d5c40bce038afc4c30bcd878</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ceres::Solver::Summary</type>
      <name>summary_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>a68529fbb707e372cbdba2dd5c1409f40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>VariableStampIndex</type>
      <name>timestamp_tracking_</name>
      <anchorfile>classfuse__optimizers_1_1FixedLagSmoother.html</anchorfile>
      <anchor>aef14a4a0d4157e7087fb19ff3805545e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>fuse_optimizers::FixedLagSmootherParams</name>
    <filename>structfuse__optimizers_1_1FixedLagSmootherParams.html</filename>
    <member kind="function">
      <type>void</type>
      <name>loadFromROS</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmootherParams.html</anchorfile>
      <anchor>a3bf730c7fe0f0b52040f5ef3ae613749</anchor>
      <arglist>(const ros::NodeHandle &amp;nh)</arglist>
    </member>
    <member kind="variable">
      <type>ros::Duration</type>
      <name>lag_duration</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmootherParams.html</anchorfile>
      <anchor>aba5d258a5ca4bdb0595ca3149ad7b6ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Duration</type>
      <name>optimization_period</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmootherParams.html</anchorfile>
      <anchor>a62abf01f1f679c7fc3cd43c2cc5c10f3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>reset_service</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmootherParams.html</anchorfile>
      <anchor>a8c32bf53a3114be1fea9446029ae4c80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ceres::Solver::Options</type>
      <name>solver_options</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmootherParams.html</anchorfile>
      <anchor>aebe5a85d078590f5c706bb8e14e86bb5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Duration</type>
      <name>transaction_timeout</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmootherParams.html</anchorfile>
      <anchor>a4bcbf233d7ecf790641c73265bbc149d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>fuse_optimizers::Optimizer</name>
    <filename>classfuse__optimizers_1_1Optimizer.html</filename>
    <class kind="struct">fuse_optimizers::Optimizer::SensorModelInfo</class>
    <member kind="function">
      <type></type>
      <name>FUSE_SMART_PTR_ALIASES_ONLY</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>ac56d96468f4e3804b800c8e22800f3f0</anchor>
      <arglist>(Optimizer)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Optimizer</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>aecac6f79e8a211da95d8436a1b0290c3</anchor>
      <arglist>(fuse_core::Graph::UniquePtr graph, const ros::NodeHandle &amp;node_handle=ros::NodeHandle(), const ros::NodeHandle &amp;private_node_handle=ros::NodeHandle(&quot;~&quot;))</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Optimizer</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>aa95de55b526300c59c521947a006d20a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; std::string, MotionModelGroup &gt;</type>
      <name>AssociatedMotionModels</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a1283b827648129328b6911896dd1cf43</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>MotionModelGroup</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a20f4741bf6588eb8c9895b66cbb7b6aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; std::string, MotionModelUniquePtr &gt;</type>
      <name>MotionModels</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a8e70bf4923271285c80af67891b84d73</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>class_loader::ClassLoader::UniquePtr&lt; fuse_core::MotionModel &gt;</type>
      <name>MotionModelUniquePtr</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a3c2d22f160678394d8d1e9dd7a810aca</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; std::string, PublisherUniquePtr &gt;</type>
      <name>Publishers</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a51d6075962282f063e59d3333bad27dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>class_loader::ClassLoader::UniquePtr&lt; fuse_core::Publisher &gt;</type>
      <name>PublisherUniquePtr</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a38cc4a1ad7064591732d182b4a1d6235</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; std::string, SensorModelInfo &gt;</type>
      <name>SensorModels</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a92fe743a48475694662450ce17239e6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>class_loader::ClassLoader::UniquePtr&lt; fuse_core::SensorModel &gt;</type>
      <name>SensorModelUniquePtr</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a1abcb7177580bef7ddbc63543da9bdee</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>applyMotionModels</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a6519b5f70181b83c5f4429daa29d2396</anchor>
      <arglist>(const std::string &amp;sensor_name, fuse_core::Transaction &amp;transaction) const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>clearCallbacks</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a625fd56c2d6566e7b7961f628b230c9b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>injectCallback</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a5b6c5a8a938ca6202a59abefbfd401c1</anchor>
      <arglist>(const std::string &amp;sensor_name, fuse_core::Transaction::SharedPtr transaction)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>loadMotionModels</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a13642c4a0c5163a32fe32b76c84344c0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>loadPublishers</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a28d4481463f979c0d70464484980dfca</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>loadSensorModels</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>ab8c28e86647df3c1b67526a1ab5656aa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>notify</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a48f89f5f30a7797c197a9a380226bede</anchor>
      <arglist>(fuse_core::Transaction::ConstSharedPtr transaction, fuse_core::Graph::ConstSharedPtr graph)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setDiagnostics</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a8a69db2b892fbf6425d962b8983129ab</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;status)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>startPlugins</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a120ebacd4930d8a43a68cc3d33b98700</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>stopPlugins</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>ae7074d213803204ba52ce97fcbc59459</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual void</type>
      <name>transactionCallback</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>aba3e7c12d31ebb16efa75023877c2e37</anchor>
      <arglist>(const std::string &amp;sensor_name, fuse_core::Transaction::SharedPtr transaction)=0</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>AssociatedMotionModels</type>
      <name>associated_motion_models_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>aa7b79180f4678a94f22af5a08490105d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>diagnostic_updater::Updater</type>
      <name>diagnostic_updater_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>adaf3126a6efea573aca3f067d130cc31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Timer</type>
      <name>diagnostic_updater_timer_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a21e569f005c8633f46eff81e9af6a2b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>diagnostic_updater_timer_period_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>af4725c1aed7273ab98c61fcd393729f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>fuse_core::Graph::UniquePtr</type>
      <name>graph_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a27c40b9cea5fc23513c077eb2e2146b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>pluginlib::ClassLoader&lt; fuse_core::MotionModel &gt;</type>
      <name>motion_model_loader_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a685fdebd54948dd641babff368d1b93b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>MotionModels</type>
      <name>motion_models_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>ab9bfd3124d98c003979a3ffcb918d449</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>node_handle_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a1a69cbdc6b54659f249598e63fc4f14a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>private_node_handle_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>ab50bfede214561422e49fb9d71470d89</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>pluginlib::ClassLoader&lt; fuse_core::Publisher &gt;</type>
      <name>publisher_loader_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a130c971ba679a845a045b7427269abf0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Publishers</type>
      <name>publishers_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a7eb2a041e8acf8518bb38678f5874a70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>pluginlib::ClassLoader&lt; fuse_core::SensorModel &gt;</type>
      <name>sensor_model_loader_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>a11915fbf1a43c7c18dbd09882b6c0e08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>SensorModels</type>
      <name>sensor_models_</name>
      <anchorfile>classfuse__optimizers_1_1Optimizer.html</anchorfile>
      <anchor>ad2afbe8e9cf43f7a0525ef15d38c1791</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>fuse_optimizers::PluginConfig</name>
    <filename>structfuse__optimizers_1_1PluginConfig.html</filename>
    <member kind="function">
      <type></type>
      <name>PluginConfig</name>
      <anchorfile>structfuse__optimizers_1_1PluginConfig.html</anchorfile>
      <anchor>a6065e0b240a9c27a70c4b527b89877f6</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const XmlRpc::XmlRpcValue &amp;config)</arglist>
    </member>
    <member kind="variable">
      <type>XmlRpc::XmlRpcValue</type>
      <name>config</name>
      <anchorfile>structfuse__optimizers_1_1PluginConfig.html</anchorfile>
      <anchor>ad085f701e30bbb76506664df410e73b1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>name</name>
      <anchorfile>structfuse__optimizers_1_1PluginConfig.html</anchorfile>
      <anchor>a9cb1e2ed146412a502e6420fc9c885e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>type</name>
      <anchorfile>structfuse__optimizers_1_1PluginConfig.html</anchorfile>
      <anchor>a64c626ebe2914b9e7d989e3e95020b0e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>fuse_optimizers::Optimizer::SensorModelInfo</name>
    <filename>structfuse__optimizers_1_1Optimizer_1_1SensorModelInfo.html</filename>
    <member kind="function">
      <type></type>
      <name>SensorModelInfo</name>
      <anchorfile>structfuse__optimizers_1_1Optimizer_1_1SensorModelInfo.html</anchorfile>
      <anchor>afd61a80af70b896008448fdc55588481</anchor>
      <arglist>(SensorModelUniquePtr model, const bool ignition)</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>ignition</name>
      <anchorfile>structfuse__optimizers_1_1Optimizer_1_1SensorModelInfo.html</anchorfile>
      <anchor>a1d78c29f7dbf43612ae51e1e66896790</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>SensorModelUniquePtr</type>
      <name>model</name>
      <anchorfile>structfuse__optimizers_1_1Optimizer_1_1SensorModelInfo.html</anchorfile>
      <anchor>a6a96fb06ff258f0459611187b14ccb21</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>fuse_optimizers::FixedLagSmoother::TransactionQueueElement</name>
    <filename>structfuse__optimizers_1_1FixedLagSmoother_1_1TransactionQueueElement.html</filename>
    <member kind="function">
      <type>const ros::Time &amp;</type>
      <name>maxStamp</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmoother_1_1TransactionQueueElement.html</anchorfile>
      <anchor>a1f27eb440bea11c6ff1b96e3f1878f9c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const ros::Time &amp;</type>
      <name>minStamp</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmoother_1_1TransactionQueueElement.html</anchorfile>
      <anchor>a24098c76c1d6b96bf3cbae6b7109f6c6</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const ros::Time &amp;</type>
      <name>stamp</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmoother_1_1TransactionQueueElement.html</anchorfile>
      <anchor>a1e14308fb9753cb0c5e1f5f75167e759</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>sensor_name</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmoother_1_1TransactionQueueElement.html</anchorfile>
      <anchor>aed982a999583d54837c05355b8a98448</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>fuse_core::Transaction::SharedPtr</type>
      <name>transaction</name>
      <anchorfile>structfuse__optimizers_1_1FixedLagSmoother_1_1TransactionQueueElement.html</anchorfile>
      <anchor>a3e68e1e6194b734cc85c63685640cb44</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>fuse_optimizers::BatchOptimizer::TransactionQueueElement</name>
    <filename>structfuse__optimizers_1_1BatchOptimizer_1_1TransactionQueueElement.html</filename>
    <member kind="function">
      <type></type>
      <name>TransactionQueueElement</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizer_1_1TransactionQueueElement.html</anchorfile>
      <anchor>ab075cc7708aebdf41acc741f82677818</anchor>
      <arglist>(const std::string &amp;sensor_name, fuse_core::Transaction::SharedPtr transaction)</arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>sensor_name</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizer_1_1TransactionQueueElement.html</anchorfile>
      <anchor>af568c3165cea74e4173546d70b5a6140</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>fuse_core::Transaction::SharedPtr</type>
      <name>transaction</name>
      <anchorfile>structfuse__optimizers_1_1BatchOptimizer_1_1TransactionQueueElement.html</anchorfile>
      <anchor>a5b960fa1ed3fa2a1749de119db008952</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>fuse_optimizers::VariableStampIndex</name>
    <filename>classfuse__optimizers_1_1VariableStampIndex.html</filename>
    <member kind="function">
      <type>void</type>
      <name>addMarginalTransaction</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>ab9be8a6be8c9e847bad75f21ee8a53ce</anchor>
      <arglist>(const fuse_core::Transaction &amp;transaction)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addNewTransaction</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a7ec27d15c692b0e330d55e9a5fda96d3</anchor>
      <arglist>(const fuse_core::Transaction &amp;transaction)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a5829bd575a484112d4b1155942291da1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>ros::Time</type>
      <name>currentStamp</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a40bc24e2440dbb6d1a34203563b383d8</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>empty</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a7cf4a51bcdca0a8fcd349a1eba5511de</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FUSE_SMART_PTR_DEFINITIONS</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a8a29b49f9f921415ebefda8daf9250b5</anchor>
      <arglist>(VariableStampIndex)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>query</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>ab4c8f348a2ce1260dc5f914743128b3e</anchor>
      <arglist>(const ros::Time &amp;stamp, OutputUuidIterator result) const</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a2f3944a62e31113e9b2676435f74024d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>VariableStampIndex</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a11433a48d6683e2333a8dfa08d196571</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~VariableStampIndex</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a7fece053950bd4f66e331cfafbecfb99</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; fuse_core::UUID, std::unordered_set&lt; fuse_core::UUID &gt; &gt;</type>
      <name>ConstraintToVariablesMap</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>af6ea2b441a33506a8a0ccea3ab87d964</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; fuse_core::UUID, ros::Time &gt;</type>
      <name>StampedMap</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>ae4c495d5236d8003a8885692078d8644</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::unordered_map&lt; fuse_core::UUID, std::unordered_set&lt; fuse_core::UUID &gt; &gt;</type>
      <name>VariableToConstraintsMap</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a25efa3f13e2088803f36907a77329318</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>applyAddedConstraints</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>afcc41492e03bb46ead375c9cea757cac</anchor>
      <arglist>(const fuse_core::Transaction &amp;transaction)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>applyAddedVariables</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a70c508e58699462fed1a55e446670be1</anchor>
      <arglist>(const fuse_core::Transaction &amp;transaction)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>applyRemovedConstraints</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>abd042c12be961833135d4efca85eb9ed</anchor>
      <arglist>(const fuse_core::Transaction &amp;transaction)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>applyRemovedVariables</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a9d458560a00c9fe01d94f1f297f1be7e</anchor>
      <arglist>(const fuse_core::Transaction &amp;transaction)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ConstraintToVariablesMap</type>
      <name>constraints_</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>ad54e3f886cc77f97fd1d384809ccf73a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>StampedMap</type>
      <name>stamped_index_</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>a45e2bee16baefe013dd10cee5700dec4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>VariableToConstraintsMap</type>
      <name>variables_</name>
      <anchorfile>classfuse__optimizers_1_1VariableStampIndex.html</anchorfile>
      <anchor>acde08ca2b72e0b65d809adca9a9fd4e5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>fuse_optimizers</name>
    <filename>namespacefuse__optimizers.html</filename>
    <class kind="class">fuse_optimizers::BatchOptimizer</class>
    <class kind="struct">fuse_optimizers::BatchOptimizerParams</class>
    <class kind="class">fuse_optimizers::FixedLagSmoother</class>
    <class kind="struct">fuse_optimizers::FixedLagSmootherParams</class>
    <class kind="class">fuse_optimizers::Optimizer</class>
    <class kind="struct">fuse_optimizers::PluginConfig</class>
    <class kind="class">fuse_optimizers::VariableStampIndex</class>
    <member kind="function">
      <type>diagnostic_msgs::DiagnosticStatus</type>
      <name>makeDiagnosticStatus</name>
      <anchorfile>namespacefuse__optimizers.html</anchorfile>
      <anchor>a92ac55b0fb733cf332d45d0613c997c1</anchor>
      <arglist>(const int8_t level, const std::string &amp;message)</arglist>
    </member>
    <member kind="function">
      <type>diagnostic_msgs::DiagnosticStatus</type>
      <name>terminationTypeToDiagnosticStatus</name>
      <anchorfile>namespacefuse__optimizers.html</anchorfile>
      <anchor>a7045cd60b0d17a388ee993c209bddc90</anchor>
      <arglist>(const ceres::TerminationType termination_type)</arglist>
    </member>
  </compound>
</tagfile>
