22 [](
const SLAMParameters& params, std::shared_ptr<DataAssociationModel> data_association,
23 std::shared_ptr<V2PMotionModel> motion_model,
24 std::shared_ptr<LandmarkFilter> landmark_filter,
25 std::shared_ptr<std::vector<double>> execution_times,
26 std::shared_ptr<LoopClosure> loop_closure) -> std::shared_ptr<SLAMSolver> {
27 return std::make_shared<GraphSLAMSolver>(params, data_association, motion_model,
28 landmark_filter, execution_times, loop_closure);
31 [](
const SLAMParameters& params, std::shared_ptr<DataAssociationModel> data_association,
32 std::shared_ptr<V2PMotionModel> motion_model,
33 std::shared_ptr<LandmarkFilter> landmark_filter,
34 std::shared_ptr<std::vector<double>> execution_times,
35 std::shared_ptr<LoopClosure> loop_closure) -> std::shared_ptr<SLAMSolver> {
36 return std::make_shared<EKFSLAMSolver>(params, data_association, motion_model,
37 landmark_filter, execution_times, loop_closure);
const std::map< std::string, std::function< std::shared_ptr< SLAMSolver >(const SLAMParameters &, std::shared_ptr< DataAssociationModel >, std::shared_ptr< V2PMotionModel >, std::shared_ptr< LandmarkFilter >, std::shared_ptr< std::vector< double > >, std::shared_ptr< LoopClosure >)>, std::less<> > slam_solver_constructors_map