allow pointer_based_stl_iterator to conform to the contiguous_iterator concept if we are in c++20
diff --git a/Eigen/src/Core/StlIterators.h b/Eigen/src/Core/StlIterators.h index 3ab7d21..bb897f8 100644 --- a/Eigen/src/Core/StlIterators.h +++ b/Eigen/src/Core/StlIterators.h
@@ -325,7 +325,13 @@ public: typedef Index difference_type; typedef typename XprType::Scalar value_type; +#if __cplusplus >= 202002L + typedef std::conditional_t<XprType::InnerStrideAtCompileTime == 1, std::contiguous_iterator_tag, + std::random_access_iterator_tag> + iterator_category; +#else typedef std::random_access_iterator_tag iterator_category; +#endif typedef std::conditional_t<bool(is_lvalue), value_type*, const value_type*> pointer; typedef std::conditional_t<bool(is_lvalue), value_type&, const value_type&> reference;