cplus_demangle(|) decodes the string in, and copies the result to out. in points to a string representing a name mangled by the C++ compiler. out is a buffer of size that you specify, which contains the byte size. If the output buffer is too small to contain the demangled name, cplus_demangle() returns DEMANGLE_ESPACE, and the contents of out are undefined. Otherwise, if the name is a valid C++ name, cplus_demangle() returns 0. If in is not a valid C++ mangled name, it is copied unchanged to out and the function returns DEMANGLE_ENAME.
cplus_demangle() operates on mangled names generated by C++ 3.0.1 and all versions of C++ 4.0 and above.