/**
* @file demangle_symbol.h
* Demangle a C++ symbol
*
* @remark Copyright 2002 OProfile authors
* @remark Read the file COPYING
*
* @author John Levon
*/
#ifndef DEMANGLE_SYMBOL_H
#define DEMANGLE_SYMBOL_H
#include <string>
/// demangle type: specify what demangling we use
enum demangle_type {
/// no demangling.
dmt_none,
/// use cplus_demangle()
dmt_normal,
/// normal plus a pass through the regular expression to simplify
/// the mangled name
dmt_smart
};
/**
* demangle_symbol - demangle a symbol
* @param name the mangled symbol name
* @return the demangled name
*
* Demangle the symbol name, if the global
* variable demangle is true.
*
* The demangled name lists the parameters and type
* qualifiers such as "const".
*/
std::string const demangle_symbol(std::string const & name);
#endif // DEMANGLE_SYMBOL_H