. \"ident "@(#)c++env:man/tools/demangler/demangle.3 1.1" .TH DEMANGLE 3 "27 January 1997" "Sun Microsystems" "MISC. REFERENCE MANUAL PAGES" .UC 4 .SH NAME demangle, cplus_demangle \- decode a C++ encoded symbol name .SH SYNOPSIS .B cc [ .I flag ... ] .I file [ .I library ... ] .B -ldemangle .sp .B #include .br .BI "int cplus_demangle( const char *" symbol "," .BI "char *" prototype ", size_t " size ");" .SH DESCRIPTION .B cplus_demangle () decodes (demangles) a C++ linker symbol name (mangled name) into a (partial) C++ prototype, if possible. (C++ mangled names may not have enough information to form a complete prototype.) .PP The .I symbol string parameter points to the input mangled name. .PP The .I prototype parameter points to a user-specified output string buffer, of .I size bytes. .PP .BR cplus_demangle() has the following return values: .IP 0 25 The .I symbol parameter is a valid mangled name and .I prototype contains a (partial) prototype for the symbol. .IP DEMANGLE_ENAME 25 The .I symbol parameter is not a valid mangled name and the content of .I prototype is a copy of the symbol. .IP DEMANGLE_ESPACE 25 The .I prototype output buffer is too small to contain the prototype (or the symbol), and the content of .I prototype is undefined. .PP .BR cplus_demangle () operates on mangled names generated by SPARCompilers C++ 3.0.1, 4.0.1, 4.1 and 4.2. .PP .BR cplus_demangle () improves and replaces .BR demangle (). .SH "SEE ALSO" .BR CC (1), .BR dem (1), .BR c++filt (1)