* SltVAライブラリのメモ -(by [[K]], 2017.10.27) ** 関数の一覧(スロット基本編) -void Slt_init(); --スロットライブラリを使うときはとにもかくにもまずこれをやる。 -void Slt_rsv(int s0, int n); --スロット番号を連番でリザーブする。#defineするのはダサイので以下のようにするのがいいと思う。 enum { slt_ess = 0, slt_ti, slt_vq, slt_glb, slt_scp, slt_n }; Slt_rsv(0, slt_n); -alcを使わないのならリザーブしないで使い始めても平気。 -int Slt_alc(); --空いているスロット番号が得られる。 -void Slt_fre(int s); --使っていたスロットを解放できる。なお、destし忘れていれば気を利かせてdestしてからfreしてくれる。 -void Slt_dest(int s); --使っていたスロットのリソースを解放する。でも番号はリザーブされたままになる。 -void Slt_dump(void *fp); --fpにstdoutを指定すれば、現在のスロット状態が全部見える。超便利。 ** 関数の一覧(VA基本編) -void SltVA_init(int s, int es, const char *nam); --sはスロット番号。esはelementSizeで1以上。namは適当な名前。NULLにしてもいい。最初はn=0になる。 -void *SltVA_p(int s, int i); --i番目の要素へのポインタを取得する。サイズを変更するまでは有効。 -int SltVA_n(int s); --現在設定されている配列の長さを返す。 -void *SltVA_size(int s, int n); --配列の長さをnに設定する。realloc回数を減らすために必要に応じてマージンも付けるが、それはnには反映されない。 -void *SltVA_sizeFix(int s, int n); --配列の長さをnに設定する。マージンは付けない。n=-1にすると、現在のnのままマージンだけを捨てる。 ** 関数の一覧(VA応用編1) -int SltVA_alc(int s); -void SltVA_fre(int s, int i); -void SltVA_rsv(int s, int i0, int n); -int SltVA_sch(int s, unsigned int sn0); ** 関数の一覧(VA応用編2) -int SltVA_schKeyInt(int s, int ki); -int SltVA_schKeyInt1(int s, int ki, void *pp, int *pi); -int SltVA_schKeyInt2(int s, int ki, void *pp, int *pi); * こめんと欄 #comment