|[eigen] Eigen Needs Forward Declaration Files|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
The standard library file
# include <iosfwd>
is a forward declarations file for the objects defined in <iostream>.
I have a need of such a file for the object
Here is my reason.
Compiling with eigen and g++ requires one to suppress certain warnings
I wish to limit the amount of source code that these warnings are
In order to reduce the amount of source code that requires one to
include the eigen headers, I am using the ideas in the pimpl idom. To be
specific, I am using a forward declaration of the SimplicialLDLT class
in most of my code. Only the code that actually does Eigen calculations
is including the Eigen headers. For details, see the file
There is a problem with this. It seems that the number of template
parameters in the SimplicialLDLT class changed. To be specific:
In eigen-3.2.1 I find two template parameters
template<typename _MatrixType, int _UpLo = Lower> class SimplicialLDLT;
In eigen-3.2.5 I find three template parameters
template<typename _MatrixType, int _UpLo = Lower, typename
_Ordering = AMDOrdering<typename _MatrixType::Index> > class SimplicialLDLT;
Since eigen has no forward declarations file, this represents a change
the the Eigen API.