<?xml version='1.0' encoding='utf-8'?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="icinga::String">
    <DisplayString>{m_Data}</DisplayString>
  </Type>

  <Type Name="icinga::Value">
    <DisplayString Condition="m_Value.which_ == 0">Empty</DisplayString>
    <DisplayString Condition="m_Value.which_ == 1">{*(double *)m_Value.storage_.data_.buf}</DisplayString>
    <DisplayString Condition="m_Value.which_ == 2">{*(double *)m_Value.storage_.data_.buf}</DisplayString>
    <DisplayString Condition="m_Value.which_ == 3">{*(icinga::String *)m_Value.storage_.data_.buf}</DisplayString>
    <DisplayString Condition="m_Value.which_ == 4">{*(boost::intrusive_ptr&lt;icinga::Object&gt; *)m_Value.storage_.data_.buf}</DisplayString>
  </Type>

  <Type Name="icinga::Array">
    <DisplayString>{m_Data}</DisplayString>
    <Expand>
      <ExpandedItem>m_Data</ExpandedItem>
    </Expand>
  </Type>

  <Type Name="icinga::Dictionary">
    <DisplayString>{m_Data}</DisplayString>
    <Expand>
      <ExpandedItem>m_Data</ExpandedItem>
    </Expand>
  </Type>

  <Type Name="icinga::ObjectLock">
    <DisplayString>{m_Lock}</DisplayString>
  </Type>
</AutoVisualizer>
