locusrobotics / fuse

The fuse stack provides a general architecture for performing sensor fusion live on a robot. Some possible applications include state estimation, localization, mapping, and calibration.
Other
729 stars 122 forks source link

Question about C++17 #343

Closed nachovizzo closed 6 months ago

nachovizzo commented 1 year ago

Hello there, I'm certain that you are aware of this

If you define a structure having members of fixed-size vectorizable Eigen types, you must ensure that calling operator new on it allocates properly aligned buffers. If you're compiling in [c++17] mode only with a sufficiently recent compiler (e.g., GCC>=7, clang>=5, MSVC>=19.12), then everything is taken care by the compiler and you can stop reading.

Then my question would be: Do you have any particular reason to support pre C++17 build?

I'm happy to contribute a small migration, I got rid of these types of macros, did a diff on the assembly and nothing changed for me (using the default C++17 standard)

https://github.com/locusrobotics/fuse/blob/7497e4ee60ddb9aadca42b257d39a32471383c0c/fuse_core/include/fuse_core/macros.hpp#L81

Cheers!