10 #ifndef EIGEN_CXX11WORKAROUNDS_H
11 #define EIGEN_CXX11WORKAROUNDS_H
16 #if defined(__INTEL_COMPILER) && (__INTEL_COMPILER < 1310)
17 #error Intel Compiler only supports required C++ features since version 13.1.
20 #elif defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6))
26 #pragma GCC diagnostic error "-Wfatal-errors"
27 #error GNU C++ Compiler (g++) only supports required C++ features since version 4.6.
35 #if (EIGEN_COMP_CXXVER < 11)
36 #if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER)
37 #pragma GCC diagnostic error "-Wfatal-errors"
39 #error This library needs at least a C++11 compliant compiler. If you use g++/clang, please enable the -std=c++11 compiler flag. (-std=c++0x on older versions.)
50 template<std::
size_t I_,
class T> constexpr
inline T& array_get(std::vector<T>& a) {
return a[I_]; }
51 template<std::
size_t I_,
class T> constexpr
inline T&& array_get(std::vector<T>&& a) {
return a[I_]; }
52 template<std::
size_t I_,
class T> constexpr
inline T
const& array_get(std::vector<T>
const& a) {
return a[I_]; }
68 #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
69 #define EIGEN_TPL_PP_SPEC_HACK_DEF(mt, n) mt... n
70 #define EIGEN_TPL_PP_SPEC_HACK_DEFC(mt, n) , EIGEN_TPL_PP_SPEC_HACK_DEF(mt, n)
71 #define EIGEN_TPL_PP_SPEC_HACK_USE(n) n...
72 #define EIGEN_TPL_PP_SPEC_HACK_USEC(n) , n...
74 #define EIGEN_TPL_PP_SPEC_HACK_DEF(mt, n)
75 #define EIGEN_TPL_PP_SPEC_HACK_DEFC(mt, n)
76 #define EIGEN_TPL_PP_SPEC_HACK_USE(n)
77 #define EIGEN_TPL_PP_SPEC_HACK_USEC(n)
Namespace containing all symbols from the Eigen library.