allow pointer_based_stl_iterator to conform to the contiguous_iterator concept if we are in c++20

This commit is contained in:
Louis David 2024-06-06 21:38:09 +00:00 committed by Charles Schlosser
parent 27f8176254
commit 392b95bdf1

View File

@ -325,7 +325,13 @@ class pointer_based_stl_iterator {
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;