Typedefs | |
typedef MSymbolStruct * | MSymbol |
シンボルの型宣言. | |
Functions | |
MSymbol | msymbol (const char *name) |
シンボルを得る. | |
MSymbol | msymbol_as_managing_key (const char *name) |
管理キーを作る. | |
int | msymbol_is_managing_key (MSymbol symbol) |
MSymbol | msymbol_exist (const char *name) |
指定された名前を持つシンボルを探す. | |
char * | msymbol_name (MSymbol symbol) |
シンボルの名前を得る. | |
int | msymbol_put (MSymbol symbol, MSymbol key, void *val) |
シンボルプロパティに値を設定する. | |
void * | msymbol_get (MSymbol symbol, MSymbol key) |
シンボルプロパティの値を得る. | |
Variables | |
MSymbol | Mnil |
"nil" を名前として持つシンボル. | |
MSymbol | Mt |
"t" を名前として持つシンボル. | |
MSymbol | Mstring |
"string" を名前として持つシンボル. | |
MSymbol | Msymbol |
"symbol" を名前として持つシンボル. |
(void *)
型にキャストできるものなら何でもよい。「シンボル S が持つシンボルプロパティのうちキーが K のもの」を簡単に「S の K プロパティ」と呼ぶことがある。シンボルの用途は主に以下の3通りである。
|
MSymbol は シンボル (symbol) オブジェクトの型である。 内部構造はアプリケーションプログラムからは見えない。 |
|
関数 msymbol() は name という名前を持つ正規化されたシンボルを返す。そのようなシンボルが存在しない場合には、生成する。生成されたシンボルは管理キーではない。 空白文字二つで始まるシンボルは m17n ライブラリ用であり、内部的にのみ用いられる。
|
|
関数 msymbol_as_managing_key() は名前 name を持つ新しく作られた管理キーを返す。すでに名前 name を持つシンボルがあれば、 Mnil を返す。 空白文字二つで始まるシンボルは m17n ライブラリ用であり、内部的にのみ用いられる。
|
|
|
|
関数 msymbol_exist() は name という名前を持つシンボルを探す。
|
|
関数 msymbol_name() は指定されたシンボル symbol の名前を含む文字列へのポインタを返す。
|
|
関数 msymbol_put() は、シンボル symbol 中でキーが key であるシンボルプロパティの値を val に設定する。そのシンボルプロパティにすでに値があれば上書きする。 symbol, key とも Mnil であってはならない。
key が管理キーならば、val は管理下オブジェクトでなくてはならない。この場合、古い値の参照数は
|
|
関数 msymbol_get() は、シンボル symbol が持つシンボルプロパティのうち、キーが key であるものを探す。もし該当するシンボルプロパティが存在すれば、それの値を返す。そうでなければ
|
|
シンボル Mnil は |
|
シンボル Mt は |
|
シンボル Mstring は |
|
定義済みシンボル Msymbol は |