エイリアスパラメーター
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/02 08:30 UTC 版)
「ジェネリックプログラミング」の記事における「エイリアスパラメーター」の解説
D言語のテンプレートはまたエイリアスパラメーターを受け入れることができる。エイリアスパラメーターはC++のtypedefと似ているが、テンプレートパラメーターを置き換えることもできる。これは今後利用可能なC++0x仕様に追加されるであろう、C++のテンプレートのテンプレート引数にある機能の拡張版である。エイリアスパラメーターは、テンプレート、関数、型、その他のコンパイル時のシンボルを指定できる。これは例えばテンプレート関数の中に関数をプログラマーが挿入できるようにする。 template wrapper(alias Fn) { // "extern(C)"インターフェイスでD言語の関数をラップする extern(C) void wrapper() { Fn(); }} この種のテンプレートはC言語APIとD言語のコードを接続するときに使いやすいだろう。仮想のC言語APIが関数ポインタを要求する場合、このようにテンプレートを利用できる。 void foo() { // ...}some_c_function(&wrapper!(foo));
※この「エイリアスパラメーター」の解説は、「ジェネリックプログラミング」の解説の一部です。
「エイリアスパラメーター」を含む「ジェネリックプログラミング」の記事については、「ジェネリックプログラミング」の概要を参照ください。
- エイリアスパラメーターのページへのリンク