型定義 | |
typedef MSymbolStruct * | MSymbol |
シンボルの型宣言. | |
関数 | |
MSymbol | msymbol (const char *name) |
シンボルを得る. | |
MSymbol | msymbol_as_managing_key (const char *name) |
管理キーを作る. | |
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) |
シンボルプロパティの値を得る. | |
変数 | |
MSymbol | Mnil |
"nil" を名前として持つシンボル. | |
MSymbol | Mt |
"t" を名前として持つシンボル. | |
MSymbol | Mstring |
"string" を名前として持つシンボル. | |
MSymbol | Msymbol |
"symbol" を名前として持つシンボル. |
(void *)
型にキャストできるものなら何でもよい。「シンボル S が持つシンボルプロパティのうちキーが K のもの」を簡単に「S の K プロパティ」と呼ぶことがある。シンボルの用途は主に以下の3通りである。
|
MSymbol はシンボルオブジェクトの型である。内部構造はアプリケーショ ンプログラムからは見えない。 |
|
関数 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 は |