mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-25 01:01:58 -05:00
830b081de7
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
60 lines
2.1 KiB
XML
60 lines
2.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
This will make GitHub and some editors recognize this code as XML:
|
|
vim: syntax=xml
|
|
-->
|
|
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
|
<!-- These types are from the gsl_assert header. -->
|
|
<Type Name="gsl::fail_fast">
|
|
<!-- na hides the address, otherwise it would appear as 0x.... "Message" -->
|
|
<DisplayString>{_Data._What,nasb}</DisplayString>
|
|
</Type>
|
|
|
|
<!-- These types are from the gsl_util header. -->
|
|
<Type Name="gsl::final_action<*>">
|
|
<DisplayString>{{ invoke = {invoke_}, action = {f_} }}</DisplayString>
|
|
<Expand>
|
|
<Item Name="[invoke]">invoke_</Item>
|
|
<Item Name="[callback]">f_</Item>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<Type Name="gsl::span<*, *>">
|
|
<DisplayString>{{ extent = {storage_.size_} }}</DisplayString>
|
|
<Expand>
|
|
<ArrayItems>
|
|
<Size>storage_.size_</Size>
|
|
<ValuePointer>storage_.data_</ValuePointer>
|
|
</ArrayItems>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<Type Name="gsl::basic_string_span<*, *>">
|
|
<DisplayString>{span_.storage_.data_,[span_.storage_.size_]na}</DisplayString>
|
|
<Expand>
|
|
<Item Name="[size]">span_.storage_.size_</Item>
|
|
<ArrayItems>
|
|
<Size>span_.storage_.size_</Size>
|
|
<ValuePointer>span_.storage_.data_</ValuePointer>
|
|
</ArrayItems>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<Type Name="gsl::basic_zstring_span<*, *>">
|
|
<DisplayString>{span_.storage_.data_,[span_.storage_.size_]na}</DisplayString>
|
|
<Expand>
|
|
<Item Name="[size]">span_.storage_.size_</Item>
|
|
<ArrayItems>
|
|
<Size>span_.storage_.size_</Size>
|
|
<ValuePointer>span_.storage_.data_</ValuePointer>
|
|
</ArrayItems>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<!-- These types are from the gsl header. -->
|
|
<Type Name="gsl::not_null<*>">
|
|
<!-- We can always dereference this since it's an invariant. -->
|
|
<DisplayString>value = {*ptr_}</DisplayString>
|
|
</Type>
|
|
</AutoVisualizer>
|