View source code
Display the source code in core/demangle.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
core.demangle.mangle
- multiple declarations
- Function mangle
- Function mangleC
Function mangle
Mangles a D symbol.
Prototype
char[] mangle(T)( const(char)[] fqn, char[] dst = null ) pure nothrow @safe;
Parameters
Name | Description |
---|---|
T | The type of the symbol. |
fqn | The fully qualified name of the symbol. |
dst | An optional destination buffer. |
Returns
The mangled name for a symbols of type T and the given fully qualified name.
Example
assert(mangle!int("a.b") == "_D1a1bi"); assert(mangle!(char[])("test.foo") == "_D4test3fooAa"); assert(mangle!(int function(int))("a.b") == "_D1a1bPFiZi");
Function mangleC
Mangles a C function or variable.
Prototype
char[] mangleC( const(char)[] sym, char[] dst = null );
Parameters
Name | Description |
---|---|
sym | The C symbol to mangle . |
dst | An optional destination buffer. |
Returns
The mangled name for a C function or variable, i.e. an underscore is prepended or not, depending on the compiler/linker tool chain
Authors
Sean Kelly
License
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)