From ba75f71ca94ec539d170a28232997a27b68e310d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 12 May 2022 01:11:59 +0200 Subject: [PATCH] Containers: fix StridedArrayView with std::unique() on MSVC 2015. Ah well. --- src/Corrade/Containers/StridedArrayView.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Corrade/Containers/StridedArrayView.h b/src/Corrade/Containers/StridedArrayView.h index 2f65df18e..9330c18be 100644 --- a/src/Corrade/Containers/StridedArrayView.h +++ b/src/Corrade/Containers/StridedArrayView.h @@ -1910,6 +1910,13 @@ template class StridedIterator { #ifndef DOXYGEN_GENERATING_OUTPUT /*implicit*/ StridedIterator(typename std::conditional::value, const void, void>::type* data, const StridedDimensions& size, const StridedDimensions& stride, std::size_t i) noexcept: _data{data}, _size{size}, _stride{stride}, _i{i} {} + + #ifdef CORRADE_MSVC2015_COMPATIBILITY + /* Needed by MSVC 2015 to make StridedIterator usable with + std::unique() -- it wants to default-construct it, for some reason. + See StridedArrayViewStlTest::unique() for a repro case. */ + /*implicit*/ StridedIterator(): _data{}, _size{}, _stride{}, _i{} {} + #endif #endif /** @brief Equality comparison */