libcwd: The C++ Debugging Support Library - Reference Manual
Author: Carlo Wood
Description: C++ debugging support library with ostream debug output
Keywords: libcwd, debug output, debug facility, debug channel, object orientation, OO, C++, nested debug output, ostream, memory allocation, debugging, source file and line number

Main Page Reference Manual Namespace List Compound List Namespace Members Compound Members File Members

# demangle_type() and demangle_symbol()
[Getting Type Information Of Types And Symbols]

Collaboration diagram for demangle_type() and demangle_symbol():

## Functions
void | libcwd::demangle_type (char const *input, std::string &output)
| Demangle mangled type name `input` and write the result to string `output`.
void | libcwd::demangle_symbol (char const *input, std::string &output)
| Demangle mangled symbol name `input` and write the result to string `output`.

## Detailed Description

Libcwd comes with its own demangler functions.

demangle_type() writes the mangled type name `input` to the string `output`; `input` should be the mangled name as returned by `typeid(OBJECT).name()` (using gcc-2.95.1 or higher).

demangle_symbol() writes the mangled symbol name `input` to the string `output`; `input` should be the mangled name as returned by `elfxx::asymbol_st::name` which is what is returned by location_ct::mangled_function_name() and pc_mangled_function_name().

The direct use of these functions should be avoided, instead use the function type_info_of().

## Function Documentation

void libcwd::demangle_type | ( | char const * | input,
|  | std::string & | output |
| ) |  |  |

Demangle mangled type name `input` and write the result to string `output`.