Removing some boost usage#1331
Removing some boost usage#1331tylerjw merged 29 commits intomoveit:mainfrom henrygerardmoore:remove_boost
Conversation
|
This pull request is in conflict. Could you fix it @henrygerardmoore? |
henningkayser
left a comment
There was a problem hiding this comment.
Thanks for continuing on this effort. It's a lot of changes, but I assume it's fine squash-merging this since everything is pretty straight-forward. @Abishalini should be mentioned as co-author as she has prepared a sizeable portion of these changes (this can be added with the squash-merge commit).
@henrygerardmoore Are there any packages that don't depend on boost anymore? This should be reflected in the CMakeLists.txt fiels, possibly also in the package.xml dependencies. Could you verify this?
moveit_core/collision_detection/include/moveit/collision_detection/collision_common.h
Show resolved
Hide resolved
|
This pull request is in conflict. Could you fix it @henrygerardmoore? |
|
Removed boost from as many CMakeLists as I think is possible, and also made sure it wasn't unnecessarily in any package.xml files. I believe the PR should be good to go now. |
Abishalini
left a comment
There was a problem hiding this comment.
Found some headers that can be removed
...core/collision_distance_field/include/moveit/collision_distance_field/collision_env_hybrid.h
Outdated
Show resolved
Hide resolved
moveit_core/robot_model/include/moveit/robot_model/robot_model.h
Outdated
Show resolved
Hide resolved
.../kinematics_plugin_loader/include/moveit/kinematics_plugin_loader/kinematics_plugin_loader.h
Outdated
Show resolved
Hide resolved
...ros/planning_interface/planning_scene_interface/src/wrap_python_planning_scene_interface.cpp
Outdated
Show resolved
Hide resolved
moveit_ros/robot_interaction/include/moveit/robot_interaction/kinematic_options_map.h
Outdated
Show resolved
Hide resolved
moveit_ros/robot_interaction/include/moveit/robot_interaction/kinematic_options_map.h
Show resolved
Hide resolved
Abishalini
left a comment
There was a problem hiding this comment.
Looks good to me! Thanks for this
tylerjw
left a comment
There was a problem hiding this comment.
Thank you for taking this on and getting it over the finish line!
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
Co-authored-by: Vatan Aksoy Tezer <vatan@picknik.ai>
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
Description
Taking over from #1118, this is part 1 of the work that will be done. More boost usage can be (somewhat) easily removed, but the PR is already quite large so that will take place in another PR. The changes included in this PR are
boost::array->std::arrayboost::function->std::functionboost::mutexand similar objects (boost::shared_locketc) ->std::mutexboost::starts_with(name, object.first)->name.rfind(object.first, 0) == 0boost::math::tools::epsilon<double>()->std::numeric_limits<double>::min()boost::filesystem->std::filesystemboost::thread->std::threadboostand thestdequivalentIn a future PR, the following will be done:
boost::regexboost::noncopyableboost::lexical_castboost::optionalboost::thread_groupWhen MoveIt is updated to C++20, any use of
boost::math::constantscan be replaced withstd::numbersconstantsChecklist