00001 /** 00002 * @file demangle_symbol.h 00003 * Demangle a C++ symbol 00004 * 00005 * @remark Copyright 2002 OProfile authors 00006 * @remark Read the file COPYING 00007 * 00008 * @author John Levon 00009 */ 00010 00011 #ifndef DEMANGLE_SYMBOL_H 00012 #define DEMANGLE_SYMBOL_H 00013 00014 #include <string> 00015 00016 /// demangle type: specify what demangling we use 00017 enum demangle_type { 00018 /// no demangling. 00019 dmt_none, 00020 /// use cplus_demangle() 00021 dmt_normal, 00022 /// normal plus a pass through the regular expression to simplify 00023 /// the mangled name 00024 dmt_smart 00025 }; 00026 00027 /** 00028 * demangle_symbol - demangle a symbol 00029 * @param name the mangled symbol name 00030 * @return the demangled name 00031 * 00032 * Demangle the symbol name, if the global 00033 * variable demangle is true. 00034 * 00035 * The demangled name lists the parameters and type 00036 * qualifiers such as "const". 00037 */ 00038 std::string const demangle_symbol(std::string const & name); 00039 00040 #endif // DEMANGLE_SYMBOL_H
1.6.1