Avoid including <sstream> with EIGEN_NO_IO
What does this implement/fix?
This allows using the Eigen/Dense header in embedded environments using
libc++ built with -DLIBCXX_ENABLE_LOCALIZATION=OFF. Without this change,
including Eigen/Dense will result in the following compiler error:
error: "<locale.h> is not supported since libc++ has been configured without support for localization
I did not include a test for this change since we would have to mock headers for an entire C++ standard library without iostream support.
Additional information
I used the following test binary to check that I can build against my custom embedded libc++
#define EIGEN_NO_IO
#define EIGEN_NO_MALLOC
#include <eigen3/Eigen/Dense>
#include <eigen3/Eigen/Sparse>
int main() {
Eigen::Vector3f f;
return f.size();
}