visual studio debugger visualizer maximum template support

141 Views Asked by At

I am using visual studio 2010 and wanted to update my debugger visualizer to show correctly my boost::variant instance. I found this page: https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers and here https://svn.boost.org/svn/boost/sandbox/boost_docs/subprojects/DebuggerVisualizers/variant.vis.txt an implementation to boost variant that support up to 9 template argument. sadly we have 12 argument and the last 3 have no visualizer representation. I tried to add support for the last 3 argument but nothing has changed:

boost::variant<boost::detail::variant::recursive_flag<*>,*,*,*,*,*,*,*,*,*,*,*,*>|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 10 ( *($T11 *)&($e.storage_.data_) )
        #case 11 ( *($T12 *)&($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_) )
        #case -11 ( **($T11 **)&($e.storage_.data_) )
        #case -12 ( **($T12 **)&($e.storage_.data_) )
        #default (#([actual members] : [$e,!]))
        #except (#([actual members] : [$e,!]))
    )
)
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 10 ( *($T11 *)&($e.storage_.data_) )
        #case 11 ( *($T12 *)&($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_) )
        #case -11 ( **($T11 **)&($e.storage_.data_) )
        #case -12 ( **($T12 **)&($e.storage_.data_) )
        #default ( *(void*)0 )
        #except ( *(void*)0 ),
        #([actual members] : [$e,!])
    )
)

}

What am I doing wrong? Thanks

0

There are 0 best solutions below