Movatterモバイル変換


[0]ホーム

URL:


D Logo
Menu
Search

Library Reference

version 2.112.0

overview

Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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 usinga local clone.

core.demangle

The demangle module converts mangled D symbols to a representation similar to what would have existed in code.
License:
Distributed under theBoost Software License 1.0. (See accompanying file LICENSE)
Authors:
Sean Kelly

Sourcecore/demangle.d

pure nothrow @safe char[]demangle(return scope const(char)[]buf, return scope char[]dst = null, CXX_DEMANGLER__cxa_demangle = null);
Demangles D/C++ mangled names. If it is not a D/C++ mangled name, it returns its argument name.
Parameters:
const(char)[]bufThe string to demangle.
char[]dstAn optional destination buffer.
CXX_DEMANGLER__cxa_demangleoptional C++ demangler
Returns:
The demangled name or the original string if the name is not a mangled D/C++ name.
pure nothrow @safe char[]demangleType(const(char)[]buf, char[]dst = null);
Demangles a D mangled type.
Parameters:
const(char)[]bufThe string to demangle.
char[]dstAn optional destination buffer.
Returns:
The demangled type name or the original string if the name is not a mangled D type.
pure nothrow @safe char[]reencodeMangled(return scope const(char)[]mangled);
reencode a mangled symbol name that might include duplicate occurrences of the same identifier by replacing all but the first occurence with a back reference.
Parameters:
const(char)[]mangledThe mangled string representing the type
Returns:
The mangled name with deduplicated identifiers
pure nothrow @safe char[]mangle(T)(return scope const(char)[]fqn, return scope char[]dst = null);
Mangles a D symbol.
Parameters:
TThe type of the symbol.
const(char)[]fqnThe fully qualified name of the symbol.
char[]dstAn optional destination buffer.
Returns:
The mangled name for a symbols of type T and the given fully qualified name.
Examples:
assert(mangle!int("a.b") =="_D1a1bi");assert(mangle!(char[])("test.foo") =="_D4test3fooAa");assert(mangle!(intfunction(int))("a.b") =="_D1a1bPFiZi");
pure nothrow @safe char[]mangleFunc(T : FT*, FT)(return scope const(char)[]fqn, return scope char[]dst = null)
if (is(FT == function));
Mangles a D function.
Parameters:
Tfunction pointer type.
const(char)[]fqnThe fully qualified name of the symbol.
char[]dstAn optional destination buffer.
Returns:
The mangled name for a function with function pointer type T and the given fully qualified name.
enum stringcPrefix;
C name mangling is done by adding a prefix on some platforms.
nothrow @trusted CXX_DEMANGLERgetCXXDemangler();
Returns:
a CXX_DEMANGLER if a C++ stdlib is loaded
Copyright © 1999-2026 by theD Language Foundation | Page generated byDdoc on Fri Feb 20 06:41:09 2026

[8]ページ先頭

©2009-2026 Movatter.jp