| 型定義 | |
| 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 は  | 
 mule-aist@m17n.org
mule-aist@m17n.org