mirror of
https://github.com/nlohmann/json.git
synced 2026-10-01 12:10:32 +00:00
Since #5238, json_default_base lives directly in the (inline, ABI-tagged) library namespace, e.g. nlohmann::json_abi_v3_12_0::json_default_base, and no longer in detail. The fallback entries only named <ns>::detail::json_default_base, so they would not match anything built from the current headers or any later release. Emit an entry for both names: the non-detail one for current code, the detail one for users of 3.12.0 (the version in #4972). Signed-off-by: Niels Lohmann <mail@nlohmann.me>
67 lines
4.4 KiB
Django/Jinja
67 lines
4.4 KiB
Django/Jinja
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!-- * * * * * * * * AUTO-GENERATED FILE * * * * * * * * -->
|
|
<!-- Edit ./tools/generate_natvis/nlohmann_json.natvis.j2 -->
|
|
<!-- * * * * * * * * AUTO-GENERATED FILE * * * * * * * * -->
|
|
|
|
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
|
{% for ns in namespaces %}
|
|
<!-- Namespace {{ ns }} -->
|
|
<Type Name="{{ ns }}::basic_json<*>">
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::null">null</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::discarded">discarded</DisplayString>
|
|
<Expand>
|
|
<ExpandedItem Condition="m_data.m_type == {{ ns }}::detail::value_t::object">
|
|
*(m_data.m_value.object),view(simple)
|
|
</ExpandedItem>
|
|
<ExpandedItem Condition="m_data.m_type == {{ ns }}::detail::value_t::array">
|
|
*(m_data.m_value.array),view(simple)
|
|
</ExpandedItem>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
|
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
|
<Type Name="std::pair<*, {{ ns }}::basic_json<*>>" IncludeView="MapHelper">
|
|
<DisplayString>{second}</DisplayString>
|
|
<Expand>
|
|
<ExpandedItem>second</ExpandedItem>
|
|
</Expand>
|
|
</Type>
|
|
|
|
<!-- Fallback for when the basic_json entry above does not match: json_default_base is the (empty) default
|
|
base class of basic_json, and base class visualizers are inherited by derived types and evaluated
|
|
against the derived object, so m_data is accessible here. The class lives in {{ ns }} after
|
|
3.12.0 (#5238) and in {{ ns }}::detail up to 3.12.0, so both names are listed. -->
|
|
{% for default_base in ['json_default_base', 'detail::json_default_base'] %}
|
|
<Type Name="{{ ns }}::{{ default_base }}">
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::null">null</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
|
<DisplayString Condition="m_data.m_type == {{ ns }}::detail::value_t::discarded">discarded</DisplayString>
|
|
<Expand>
|
|
<ExpandedItem Condition="m_data.m_type == {{ ns }}::detail::value_t::object">
|
|
*(m_data.m_value.object),view(simple)
|
|
</ExpandedItem>
|
|
<ExpandedItem Condition="m_data.m_type == {{ ns }}::detail::value_t::array">
|
|
*(m_data.m_value.array),view(simple)
|
|
</ExpandedItem>
|
|
</Expand>
|
|
</Type>
|
|
|
|
{% endfor %}
|
|
{% endfor %}
|
|
</AutoVisualizer>
|