Open
Description
Much like the philosophy of GTSAM, bioslam would be made better by upgrading to at least C++ 17 (likely 20 for future proofing).
This issue tracks boost changes that need to be made, with reference counts in the bioslam codebase as of Dec 3, 2023.
958 references to boost::
in the codebase:
- 11 to
boost::filesystem*
-> directly switchable tostd::filesystem
(C++ 17) - 39 to
boost::shared_ptr
->std::shared_ptr
since C++11 - 7 to
boost::dynamic_pointer_cast
->std::dynamic_pointer_cast
for const lvalue reference since C++11 - 19 to
boost::static_pointer_cast
->std::static_pointer_cast
for const lvalue reference since C++11 - 30 to
boost::is_base_of
->std::is_base_of
since C++11 - 314 to
boost::optional
->std::optional
since C++17 - 538 to
boost::none
->std::nullopt
since C++17
Note: direct swap replacements will not work because GTSAM often returns boost types, not std types. And these types are not implicitly converted at compile time. Before bioslam can move away from Boost, GTSAM must move away from Boost.
Metadata
Assignees
Labels
No labels