• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * @file demangle_symbol.h
3  * Demangle a C++ symbol
4  *
5  * @remark Copyright 2002 OProfile authors
6  * @remark Read the file COPYING
7  *
8  * @author John Levon
9  */
10 
11 #ifndef DEMANGLE_SYMBOL_H
12 #define DEMANGLE_SYMBOL_H
13 
14 #include <string>
15 
16 /// demangle type: specify what demangling we use
17 enum demangle_type {
18 	/// no demangling.
19 	dmt_none,
20 	/// use cplus_demangle()
21 	dmt_normal,
22 	/// normal plus a pass through the regular expression to simplify
23 	/// the mangled name
24 	dmt_smart
25 };
26 
27 /**
28  * demangle_symbol - demangle a symbol
29  * @param name the mangled symbol name
30  * @return the demangled name
31  *
32  * Demangle the symbol name, if the global
33  * variable demangle is true.
34  *
35  * The demangled name lists the parameters and type
36  * qualifiers such as "const".
37  */
38 std::string const demangle_symbol(std::string const & name);
39 
40 #endif // DEMANGLE_SYMBOL_H
41