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

Mangles a D symbol.

Prototype

char[] mangle(T)(
  const(char)[] fqn,
  char[] dst = null
) pure nothrow @safe;

Parameters

NameDescription
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

NameDescription
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)

Comments