You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently use src/math/matrix/EigenDenseBaseAddons.h to define typedefs for the value type and size types of matrices. This is undesirable because it introduces an include-order dependency requiring this .h file to be included before any use of an Eigen matrix or vector.
The header src/math/matrix/Eigen.hpp then includes the dense base addons and all of Eigen. This is then included to make sure the dependency order of the dense base addons are used.
These can be redefined as traits metaprograms in meta.
define traits metaprogram to pull out
size type from Eigen and std::vector types
value type from Eigen and std::vector types (probably base cases would make sense, too)
replace all includes of Eigen.hpp and EigenDenseBaseAddons.h
replace uses of Eigen.hpp with relevant headers for Eigen in an include-what-you-use way
replace uses of the new typedefs with the metaprogram where necessary
The text was updated successfully, but these errors were encountered:
We currently use
src/math/matrix/EigenDenseBaseAddons.h
to define typedefs for the value type and size types of matrices. This is undesirable because it introduces an include-order dependency requiring this .h file to be included before any use of an Eigen matrix or vector.The header
src/math/matrix/Eigen.hpp
then includes the dense base addons and all of Eigen. This is then included to make sure the dependency order of the dense base addons are used.These can be redefined as traits metaprograms in
meta
.Eigen.hpp
andEigenDenseBaseAddons.h
The text was updated successfully, but these errors were encountered: