1 #ifndef ROSE_BinaryAnalysis_Demangler_H
2 #define ROSE_BinaryAnalysis_Demangler_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
7 namespace BinaryAnalysis {
14 boost::filesystem::path cxxFiltExe_;
16 std::string compiler_;
25 const boost::filesystem::path&
cxxFiltExe()
const {
return cxxFiltExe_; }
26 void cxxFiltExe(
const boost::filesystem::path &p) { cxxFiltExe_ = p; }
47 const std::string&
compiler()
const {
return compiler_; }
48 void compiler(
const std::string &s) { compiler_ = s; }
55 void fillCache(
const std::vector<std::string> &mangledNames);
64 std::string
demangle(
const std::string &mangledName);
70 size_t size()
const {
return nameMap_.
size(); }
73 const NameMap&
allNames()
const {
return nameMap_; }
78 void insert(
const std::string &mangledName,
const std::string &demangledName);
void insert(const std::string &mangledName, const std::string &demangledName)
Insert a mangled/demangled pair.
void fillCache(const std::vector< std::string > &mangledNames)
Demangle lots of names.
Main namespace for the ROSE library.
Map & clear()
Remove all nodes.
void clear()
Clear the cache.
std::string demangle(const std::string &mangledName)
Demangle one name.
const boost::filesystem::path & cxxFiltExe() const
Property: Name of c++filt program.
const NameMap & allNames() const
Map of all cached names.
void cxxFiltExe(const boost::filesystem::path &p)
Property: Name of c++filt program.
size_t size() const
Number of items in the cache.
const std::string & compiler() const
Property: Format of mangled names.
void compiler(const std::string &s)
Property: Format of mangled names.
size_t size() const
Number of nodes, keys, or values in this container.
Container associating values with keys.