this a follow-up of another thread that deviated towards the question of what should be the minimal c++ version required for future Eigen's version.
Just to be clear, the 3.4 version will be fully compatible with C++03, while exposing/taking-advantage-of a few C++11, C++14, and even C++17 features when available.
There is, however, a limit in conditionally enabling features based on the available c++ version, and maintaining multiple variants is out of reach for us.
Moreover, switching to c++11 or even 14 would help *a lot* in day-to-days Eigen coding with many opportunities to simplify the code base, logics, compilation-times, unit-testing, etc.
- GCC 4.8.1
- clang 3.3
- MSVC 2015 (19.00)
- ICC 15.0.
They are all 6 years old already.
For c++14, if we don't require extended constexpr nor NSDMI, then the requirements are:
- GCC 5
- clang 3.4
- MSVC 2015
- ICC 17.00.
Except for ICC, the difference is small.
My guess is that such a change will most likely impact some MSVC 2012/2013 users, but:
1) the post 3.4 release is still a far reach!
2) we can maintain the 3.4 branch a longer time as we did when switching from Eigen 2 to 3.
What do you think?