Your entire VisualCPPMangler class is undocumented.  You should include at the very least a grammar for names mangled by Visual C++ and a list of what symbols types are mapped to.