diff options
Diffstat (limited to 'Eigen/src/Core/util/Macros.h')
-rw-r--r-- | Eigen/src/Core/util/Macros.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h index 04e8e4d1e..b39c6ca43 100644 --- a/Eigen/src/Core/util/Macros.h +++ b/Eigen/src/Core/util/Macros.h @@ -660,8 +660,7 @@ // result_of was deprecated in c++17 and removed in c++ 20 #ifndef EIGEN_HAS_STD_RESULT_OF #if EIGEN_MAX_CPP_VER >= 11 && \ - ((defined(__cplusplus) && __cplusplus >= 201103L && __cplusplus < 201703L) || \ - __has_feature(cxx_lambdas)) + (defined(__cplusplus) && __cplusplus >= 201103L && __cplusplus < 201703L) #define EIGEN_HAS_STD_RESULT_OF 1 #else #define EIGEN_HAS_STD_RESULT_OF 0 @@ -679,6 +678,15 @@ #endif #endif // EIGEN_HAS_STD_HASH +#ifndef EIGEN_HAS_STD_INVOKE_RESULT +#if EIGEN_MAX_CPP_VER >= 17 && \ + (defined(__cplusplus) && __cplusplus >= 201703L) +#define EIGEN_HAS_STD_INVOKE_RESULT 1 +#else +#define EIGEN_HAS_STD_INVOKE_RESULT 0 +#endif +#endif + #ifndef EIGEN_HAS_ALIGNAS #if EIGEN_MAX_CPP_VER>=11 && EIGEN_HAS_CXX11 && \ ( __has_feature(cxx_alignas) \ |