Fix debugger visualizer for Ext=gsl::dynamic_extent

VS 2019 doesn't seem to match -1 for size_t template parameter, as a result dynamic span/basic_string_span/basic_zstring_span show extent as `extent = 4294967295` (for 32-bit builds). This change updates details::extent_type to have static constexpr size_ parameter for non-dynamic span/basic_string_span/basic_zstring_span and simplifies/removes dynamic versions from GSL.natvis

fixes #856
This commit is contained in:
Pavel P
2020-03-28 01:59:04 +06:00
parent 226a854a97
commit 830b081de7
2 changed files with 13 additions and 45 deletions
+7
View File
@@ -355,6 +355,13 @@ namespace details
constexpr extent_type(size_type size) { Expects(size == Ext); }
constexpr size_type size() const noexcept { return Ext; }
private:
#if defined(GSL_USE_STATIC_CONSTEXPR_WORKAROUND)
static constexpr const size_type size_ = Ext; // static size equal to Ext
#else
static constexpr size_type size_ = Ext; // static size equal to Ext
#endif
};
template <>