Skip to content

Commit

Permalink
Fix visualizers for boost::string and boost::static_string for all ch…
Browse files Browse the repository at this point in the history
…ar types

 + fix capacity for boost::string visualizer
  • Loading branch information
pps83 committed Dec 10, 2024
1 parent cfd46d5 commit 03f5225
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 96 deletions.
54 changes: 7 additions & 47 deletions VS2019/Visualizers/boost_Containers.natvis
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
</Type>

<!-- boost >= 1.72 -->
<Type Name="boost::container::basic_string&lt;char,*&gt;" Priority="Medium">
<Type Name="boost::container::basic_string&lt;*,*&gt;" Priority="Medium">
<Intrinsic Name="is_short" Expression="members_.m_repr.s_aligner.h.is_short != 0" />
<Intrinsic Name="data" Expression="is_short()
? (members_.m_repr.s_aligner.data)
Expand All @@ -122,35 +122,10 @@
? ((int)members_.m_repr.s_aligner.h.length)
: (((long_t*)&amp;members_.m_repr.r_aligner)->length)" />
<Intrinsic Name="capacity" Expression="is_short()
? (11 - 1)
: (((long_t*)&amp;members_.m_repr.r_aligner)->storage - 1)" />
<DisplayString>{data(),s}</DisplayString>
<StringView>data(),s</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">size()</Item>
<Item Name="[capacity]" ExcludeView="simple">capacity()</Item>
<ArrayItems>
<Size>size()</Size>
<ValuePointer>data()</ValuePointer>
</ArrayItems>
</Expand>
</Type>

<!-- boost >= 1.72 -->
<Type Name="boost::container::basic_string&lt;unsigned short,*&gt;" Priority="Medium">
<AlternativeType Name="boost::container::basic_string&lt;wchar_t,*&gt;" />
<Intrinsic Name="is_short" Expression="members_.m_repr.s_aligner.h.is_short != 0" />
<Intrinsic Name="data" Expression="is_short()
? (members_.m_repr.s_aligner.data)
: (((long_t*)&amp;members_.m_repr.r_aligner)->start)" />
<Intrinsic Name="size" Expression="is_short()
? ((int)members_.m_repr.s_aligner.h.length)
: (((long_t*)&amp;members_.m_repr.r_aligner)->length)" />
<Intrinsic Name="capacity" Expression="is_short()
? (9 - 1)
? (InternalBufferChars - 1)
: (((long_t*)&amp;members_.m_repr.r_aligner)->storage - 1)" />
<DisplayString>{data(),su}</DisplayString>
<StringView>data(),su</StringView>
<DisplayString>{data(),na}</DisplayString>
<StringView>data(),na</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">size()</Item>
<Item Name="[capacity]" ExcludeView="simple">capacity()</Item>
Expand Down Expand Up @@ -526,24 +501,9 @@
</Type>

<!-- boost 1.73 >= -->
<Type Name="boost::static_strings::basic_static_string&lt;*,char,*&gt;" Priority="Medium">
<DisplayString>{data_,s}</DisplayString>
<StringView>data_,s</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">(int)size_</Item>
<Item Name="[capacity]" ExcludeView="simple">(int)$T1</Item>
<ArrayItems>
<Size>size_</Size>
<ValuePointer>data_</ValuePointer>
</ArrayItems>
</Expand>
</Type>

<!-- boost 1.73 >= -->
<Type Name="boost::static_strings::basic_static_string&lt;*,unsigned short,*&gt;" Priority="Medium">
<AlternativeType Name="boost::static_strings::basic_static_string&lt;*,wchar_t,*&gt;" />
<DisplayString>{data_,su}</DisplayString>
<StringView>data_,su</StringView>
<Type Name="boost::static_strings::basic_static_string&lt;*,*,*&gt;" Priority="Medium">
<DisplayString>{data_,na}</DisplayString>
<StringView>data_,na</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">(int)size_</Item>
<Item Name="[capacity]" ExcludeView="simple">(int)$T1</Item>
Expand Down
2 changes: 1 addition & 1 deletion VS2019/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="CPPDebuggerVisualizers.VS2019.DD7259EC-D23B-478B-A647-6162C579CCD6" Version="1.0.25" Language="en-US" Publisher="Pavel P" />
<Identity Id="CPPDebuggerVisualizers.VS2019.DD7259EC-D23B-478B-A647-6162C579CCD6" Version="1.0.26" Language="en-US" Publisher="Pavel P" />
<DisplayName>C++ Debugger Visualizers for VS2019</DisplayName>
<Description xml:space="preserve">C++ Debugger Visualizers for Boost, wxWidgets, TinyXML, TinyXML2</Description>
<MoreInfo>https://github.com/pps83/CPPDebuggerVisualizers</MoreInfo>
Expand Down
54 changes: 7 additions & 47 deletions VS2022/Visualizers/boost_Containers.natvis
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
</Type>

<!-- boost >= 1.72 -->
<Type Name="boost::container::basic_string&lt;char,*&gt;" Priority="Medium">
<Type Name="boost::container::basic_string&lt;*,*&gt;" Priority="Medium">
<Intrinsic Name="is_short" Expression="members_.m_repr.s_aligner.h.is_short != 0" />
<Intrinsic Name="data" Expression="is_short()
? (members_.m_repr.s_aligner.data)
Expand All @@ -122,35 +122,10 @@
? ((int)members_.m_repr.s_aligner.h.length)
: (((long_t*)&amp;members_.m_repr.r_aligner)->length)" />
<Intrinsic Name="capacity" Expression="is_short()
? (11 - 1)
: (((long_t*)&amp;members_.m_repr.r_aligner)->storage - 1)" />
<DisplayString>{data(),s}</DisplayString>
<StringView>data(),s</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">size()</Item>
<Item Name="[capacity]" ExcludeView="simple">capacity()</Item>
<ArrayItems>
<Size>size()</Size>
<ValuePointer>data()</ValuePointer>
</ArrayItems>
</Expand>
</Type>

<!-- boost >= 1.72 -->
<Type Name="boost::container::basic_string&lt;unsigned short,*&gt;" Priority="Medium">
<AlternativeType Name="boost::container::basic_string&lt;wchar_t,*&gt;" />
<Intrinsic Name="is_short" Expression="members_.m_repr.s_aligner.h.is_short != 0" />
<Intrinsic Name="data" Expression="is_short()
? (members_.m_repr.s_aligner.data)
: (((long_t*)&amp;members_.m_repr.r_aligner)->start)" />
<Intrinsic Name="size" Expression="is_short()
? ((int)members_.m_repr.s_aligner.h.length)
: (((long_t*)&amp;members_.m_repr.r_aligner)->length)" />
<Intrinsic Name="capacity" Expression="is_short()
? (9 - 1)
? (InternalBufferChars - 1)
: (((long_t*)&amp;members_.m_repr.r_aligner)->storage - 1)" />
<DisplayString>{data(),su}</DisplayString>
<StringView>data(),su</StringView>
<DisplayString>{data(),na}</DisplayString>
<StringView>data(),na</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">size()</Item>
<Item Name="[capacity]" ExcludeView="simple">capacity()</Item>
Expand Down Expand Up @@ -526,24 +501,9 @@
</Type>

<!-- boost 1.73 >= -->
<Type Name="boost::static_strings::basic_static_string&lt;*,char,*&gt;" Priority="Medium">
<DisplayString>{data_,s}</DisplayString>
<StringView>data_,s</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">(int)size_</Item>
<Item Name="[capacity]" ExcludeView="simple">(int)$T1</Item>
<ArrayItems>
<Size>size_</Size>
<ValuePointer>data_</ValuePointer>
</ArrayItems>
</Expand>
</Type>

<!-- boost 1.73 >= -->
<Type Name="boost::static_strings::basic_static_string&lt;*,unsigned short,*&gt;" Priority="Medium">
<AlternativeType Name="boost::static_strings::basic_static_string&lt;*,wchar_t,*&gt;" />
<DisplayString>{data_,su}</DisplayString>
<StringView>data_,su</StringView>
<Type Name="boost::static_strings::basic_static_string&lt;*,*,*&gt;" Priority="Medium">
<DisplayString>{data_,na}</DisplayString>
<StringView>data_,na</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">(int)size_</Item>
<Item Name="[capacity]" ExcludeView="simple">(int)$T1</Item>
Expand Down
2 changes: 1 addition & 1 deletion VS2022/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="CPPDebuggerVisualizers.VS2022.DD7259EC-D23B-478B-A647-6162C579CCD6" Version="1.0.25" Language="en-US" Publisher="Pavel P" />
<Identity Id="CPPDebuggerVisualizers.VS2022.DD7259EC-D23B-478B-A647-6162C579CCD6" Version="1.0.26" Language="en-US" Publisher="Pavel P" />
<DisplayName>C++ Debugger Visualizers for VS2022</DisplayName>
<Description xml:space="preserve">C++ Debugger Visualizers for Boost, wxWidgets, TinyXML, TinyXML2</Description>
<MoreInfo>https://github.com/pps83/CPPDebuggerVisualizers</MoreInfo>
Expand Down

0 comments on commit 03f5225

Please sign in to comment.