I'm trying to create debug visualizers for our company custom smart pointers. I would like to use ExpandItem
to get the contents just one level down, which works for concrete types like ref_ptr<Vector2d>
, but not for virtual types like ref_ptr<IStreamManager>
. When using the virtual types, I get two entries, one for the underlying type, which I can then expand, and one for the __vfptr
.
What I'm getting:
v streamManagerPtr shared_ptr { count=35, ptr=... }
[Reference Count] 2
v [StreamMgr] {...}
m_resourceMgr shared_ptr { count=35, ptr=... }
m_fileMgr shared_ptr { count=23, ptr=... }
...
> __vfptr 0xdeadbeef
> [Raw View] {...}
What I want:
v streamManagerPtr shared_ptr { count=35, ptr=... }
[Reference Count] 2
m_resourceMgr shared_ptr { count=35, ptr=... }
m_fileMgr shared_ptr { count=23, ptr=... }
...
> [Raw View] {...}
Is there any way to bring the contents of the underlying dynamic type up one more level so I don't have to deal with this useless level of nesting?