英語版
このページの英語版を見る

core.demangle

demangle モジュールは、マングル化された D 記号を、コード上に存在したものと同様の表現に変換する。 に変換する。
License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Authors:
Sean Kelly

ソース core/demangle.d

pure nothrow @safe char[] demangle(return scope const(char)[] buf, return scope char[] dst = null, CXX_DEMANGLER __cxa_demangle = null);
D/C++でマングルされた名前をデマングルする。 D/C++でマングルされた名前でない場合は、引数の名前を返す。 はその引数名を返す。
Parameters:
const(char)[] buf デマングルする文字列。
char[] dst オプションのデスティネーション・バッファ。
CXX_DEMANGLER __cxa_demangle オプションのC++デマングラー
Returns:
デマングされた名前、または名前がD/C++名でない場合は元の文字列。 D/C++名。
pure nothrow @safe char[] demangleType(const(char)[] buf, char[] dst = null);
Dでマングルされた型をデマングルする。
Parameters:
const(char)[] buf デマングルする文字列。
char[] dst オプションのデスティネーション・バッファ。
Returns:
分離された型名、または型名がD型でない場合は元の文字列。 でない場合は元の文字列。
pure nothrow @safe char[] reencodeMangled(return scope const(char)[] mangled);
同じ識別子が重複して出現する可能性のあるシンボル名を再コード化する。 同じ識別子が重複して出現する可能性がある。 に置き換える。
Parameters:
const(char)[] mangled 型 "を表すマングル文字列は、以下のようになる。
Returns:
重複排除された識別子を持つマングル化された名前
pure nothrow @safe char[] mangle(T)(return scope const(char)[] fqn, return scope char[] dst = null);
D記号を揶揄する。
Parameters:
T シンボルの"型"。
const(char)[] fqn シンボルの完全修飾名。
char[] dst オプションの宛先バッファ。
Returns:
T型と与えられた完全修飾名のシンボルのマングル名。 修飾名。
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));
D関数を揶揄する。
Parameters:
T 関数ポインタ型。
const(char)[] fqn シンボルの完全修飾名。
char[] dst オプションの出力バッファ。
Returns:
関数ポインタ型Tと与えられた完全修飾名を持つ関数のマングル名。 与えられた完全修飾名を持つ関数のマングル名。
enum string cPrefix;
C言語の名前のマングリングは、いくつかのプラットフォームでは接頭辞を付加することで行われる。
nothrow @trusted CXX_DEMANGLER getCXXDemangler();
Returns:
C++標準ライブラリがロードされている場合は、CXX_DEMANGLERを指定する。