Boost logo

Boost :

Subject: Re: [boost] [variant] Visual Studio debug visualizers
From: Dmitry Vinogradov (sraider_at_[hidden])
Date: 2009-06-22 08:33:15


Dmitry Vinogradov wrote:
> I wrote a simple debug visualizer for boost::variant and I want to share
> it with community.
> ...

Second version:

boost::variant<*,*,*,*,*,*,*,*,*,*,*> {
     preview (
         #(
             #switch($e.which_)
             #case 0 ( *($T1 *)&($e.storage_.data_) )
             #case 1 ( *($T2 *)&($e.storage_.data_) )
             #case 2 ( *($T3 *)&($e.storage_.data_) )
             #case 3 ( *($T4 *)&($e.storage_.data_) )
             #case 4 ( *($T5 *)&($e.storage_.data_) )
             #case 5 ( *($T6 *)&($e.storage_.data_) )
             #case 6 ( *($T7 *)&($e.storage_.data_) )
             #case 7 ( *($T8 *)&($e.storage_.data_) )
             #case 8 ( *($T9 *)&($e.storage_.data_) )
             #case 9 ( *($T10 *)&($e.storage_.data_) )
             #case -1 ( *($T1 *)&($e.storage_.data_) )
             #case -2 ( *($T2 *)&($e.storage_.data_) )
             #case -3 ( *($T3 *)&($e.storage_.data_) )
             #case -4 ( *($T4 *)&($e.storage_.data_) )
             #case -5 ( *($T5 *)&($e.storage_.data_) )
             #case -6 ( *($T6 *)&($e.storage_.data_) )
             #case -7 ( *($T7 *)&($e.storage_.data_) )
             #case -8 ( *($T8 *)&($e.storage_.data_) )
             #case -9 ( *($T9 *)&($e.storage_.data_) )
             #case -10 ( *($T10 *)&($e.storage_.data_) )
         )
     )
     children
     (
         #(
         [value] :
             #switch($e.which_)
             #case 0 ( *($T1 *)&($e.storage_.data_) )
             #case 1 ( *($T2 *)&($e.storage_.data_) )
             #case 2 ( *($T3 *)&($e.storage_.data_) )
             #case 3 ( *($T4 *)&($e.storage_.data_) )
             #case 4 ( *($T5 *)&($e.storage_.data_) )
             #case 5 ( *($T6 *)&($e.storage_.data_) )
             #case 6 ( *($T7 *)&($e.storage_.data_) )
             #case 7 ( *($T8 *)&($e.storage_.data_) )
             #case 8 ( *($T9 *)&($e.storage_.data_) )
             #case 9 ( *($T10 *)&($e.storage_.data_) )
             #case -1 ( *($T1 *)&($e.storage_.data_) )
             #case -2 ( *($T2 *)&($e.storage_.data_) )
             #case -3 ( *($T3 *)&($e.storage_.data_) )
             #case -4 ( *($T4 *)&($e.storage_.data_) )
             #case -5 ( *($T5 *)&($e.storage_.data_) )
             #case -6 ( *($T6 *)&($e.storage_.data_) )
             #case -7 ( *($T7 *)&($e.storage_.data_) )
             #case -8 ( *($T8 *)&($e.storage_.data_) )
             #case -9 ( *($T9 *)&($e.storage_.data_) )
             #case -10 ( *($T10 *)&($e.storage_.data_) ),
             #([actual members] : [$e,!])
         )
     )
}

boost::recursive_wrapper<*> {
     preview ([$e.p_])
     children (
         #(
             #([ptr] : $e.p_),
             #([actual members] : [$e,!])
         )
     )
}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk