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.)
50template<std::
size_t I_,
class T>
constexpr inline T& array_get(std::vector<T>& a) {
return a[I_]; }
51template<std::
size_t I_,
class T>
constexpr inline T&& array_get(std::vector<T>&& a) {
return a[I_]; }
52template<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.