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 using
			a 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 the
      Boost Software License 1.0.
    (See accompanying file LICENSE)
Authors: 
Sean Kelly
Source core/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:T The 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!(int function(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:T function 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-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:27:32 2025