To ease maintainability, we could try to select boost support on or off during compile time.
For this, the code inside data_package.h and data_package.cpp would need some compile time switches. Unfortunately, the usage of variant visitors are quite different, see 664c631841a6283e75a9394319f367718a9e8304 and bd4cf28df3b54f1020887e694fcdda31ff357149.
Basically, the changes there would have to be put into compile time switches. the CMake script would need a flag which path to take and the cpp files would have to get a couple of #ifdef statements. I initially went against this path, as in my opinion this clutters the readability of the code. However, maintainability stands on the other side.
Additionally, the package.xml holds a dependency on boost (on the boost branch). It would not be a major problem to keep this inside the master branch, as this is only evaluated when built inside a catkin or ament build system. However, it seems unclean to simply keep it in there.
Edit: For the package.xml, we could maybe leverage the new conditional structure.
To ease maintainability, we could try to select boost support on or off during compile time.
For this, the code inside
data_package.h
anddata_package.cpp
would need some compile time switches. Unfortunately, the usage of variant visitors are quite different, see 664c631841a6283e75a9394319f367718a9e8304 and bd4cf28df3b54f1020887e694fcdda31ff357149.Basically, the changes there would have to be put into compile time switches. the CMake script would need a flag which path to take and the cpp files would have to get a couple of
#ifdef
statements. I initially went against this path, as in my opinion this clutters the readability of the code. However, maintainability stands on the other side.Additionally, the
package.xml
holds a dependency on boost (on the boost branch). It would not be a major problem to keep this inside the master branch, as this is only evaluated when built inside a catkin or ament build system. However, it seems unclean to simply keep it in there.Edit: For the package.xml, we could maybe leverage the new conditional structure.