kbcl0_0006
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* kbcl0のページ#6
-(by [[K]],2019.06.06)
** (9) 主要関数一覧
-void kerrorExit(const char *s, ...)
--s以降をstderrにfprintfしてから、exit(EXIT_FAILURE)する。
--[memo] 単にエラー処理を1行減らすために用意したもの。
-void *kerrorExitP0(void *p, const char *s, ...)
--もしpが0でなければ、何もしないでpを返す。
--もしpが0ならs以降でkerrorExitする。
--[memo] 単にエラー処理をさらに1行減らすために用意したも...
-void kqsort(void *base, int num, int size, void *cmp, vo...
-int kpopCount32(unsigned int b)
-int kpopCount64(unsigned long long b)
-unsigned int kgetMsb32(unsigned int i)
-''KPtrPool'' [class]
--KPtrPool(int s) [コンストラクタ]
---サイズsバイト専用のmalloc/free代用機構として初期化され...
--void *alloc()
---メモリをプールから取得する。プールが空の場合は、標準関...
--void free(void *p)
---メモリをプールに返す。どんなにたくさん返されても、標準...
--[memo] [[kclib1_0005]]での実験によると、KPtrPoolは標準...
-''KMalloc'' [class]
--void *alloc(int s)
---サイズsのメモリを確保する。
--void free(int s, void *p)
---メモリをkmallocに返す。この時サイズsを再度指定しなけれ...
--void *realloc(int s0, int s1, void *q)
---旧サイズs0から新サイズs1へ変更する。
--void report(FILE *fp)
---KMallocの利用状況をレポートする。デバッグ用。
--int inUse()
---KMallocが割り当て中のメモリの合計を返す。主にデバッグ...
---[memo] 処理の前後でのinUse()の値の差を求めると、メモリ...
--KPtrPool *ptrPool(int s)
---サイズsのメモリの管理を担当しているKPtrPoolへのポイン...
--void ready()
---もしKMallocが未初期化であれば確実に初期化する。
--[memo] kmallocはKMallocクラスのオブジェクトで、グローバ...
--[memo] KMallocはKPtrPoolを100個以上使って実装されている...
-''KSizPtr'' [class]
--可変長配列を提供する。メンバ変数p、sを適宜参照してよい...
---sを減らせば、いつでも配列の長さを低コストに減じること...
--KSizPtr() [コンストラクタ]
---特にマージンなどは用意せずに初期化。
--KSizPtr(int s1) [コンストラクタ]
---s1バイト分だけマージンを確保した状態で初期化する(もち...
--KSizPtr(KNoInit *ni) [コンストラクタ]
---あえて何も初期化しない。kmallocが利用可能ではない状況...
---もちろん未初期化のままでいることは想定外になるので、で...
--void reset(int s1 = 0)
---再初期化する。いったんすべて解放し、マージン領域も確保...
--void reserve(int s0)
---必要に応じてマージン領域を広げて、サイズs0まではreallo...
--void *reserve1(int s0)
---(s + s0)までreserveする。sもs0だけ増やされる。この関数...
--void expand2()
---マージン域まで含めた総サイズが2倍になるようにマージン...
--int addChar(int c)
---可変長配列の末尾に1バイト追加する。
--int addInt(int i)
---可変長配列の末尾に4バイト追加する。
--void *addPtr(void *p)
---可変長配列の末尾に4バイト追加する。
--void addBytes(int s, const char *p)
---可変長配列の末尾にsバイトを追加する。
--void *insPtr(int i, void *p)
---可変長配列の途中に4バイトを挿入する。挿入箇所はiで指定...
--void delPtr(int i)
---可変長配列の途中を4バイト削除する。削除箇所はiで指定。...
--void *getPtr(int i)
---可変長配列の中のi番目のポインタを取得する。iはバイト単...
--int vprintf(const char *f, va_list arg)
---vprintfした結果を可変長配列に追加する。サイズの自動伸...
--int printf(const char *f, ...)
---printfした結果を可変長配列に追加する。サイズの自動伸長...
--int addFile(const char *path, const char *mod, int flg)
---ファイルの内容を取り込んで可変長配列に追加する。
-''KAutoreleasePool'' [class]
--KAutoreleasePool() [コンストラクタ]
---普通に初期化する。
--KAutoreleasePool(KNoInit *ni) [コンストラクタ]
---あえて何も初期化しない。kmallocが利用可能ではない状況...
---もちろん未初期化のままでいることは想定外になるので、で...
--void add(int s, void *p, void *f, void *opt)
---プールにオブジェクトを登録する。fはデストラクタでoptは...
--int del(void *p, void **pf = 0, void **po = 0)
---プールに登録済みのオブジェクトをプールから削除する。関...
--int size(int *pn = 0)
---現在プールに登録されているオブジェクトのサイズの合計を...
--void *alloc(int s, void *f, void *opt)
---kmalloc.alloc(s)してからそのオブジェクトをプールに自動...
--void flush()
---プールに登録されたオブジェクトをすべてkmalloc.free()す...
---このメンバ関数を使わなくてもKAutoreleasePoolはデストラ...
-void *kreadFileA(const char *path, const char *mod, int ...
-void *ksgetsA(void *ps, int *psiz = 0)
-char *kcutCrLfM(void *p, int s = -1)
-char *kextractA(const char *p, int s = -1)
-''KIndexS'' [class]
-unsigned int kfnv32(void *p, int l)
-unsigned long long kfnv64(void *p, int l)
-''KIndexHS'' [class]
-''KIndexDict0'' [class]
-''KIndexDict3'' [class]
-''KBatchreleasePool'' [class]
-''KIndexStrId'' [class]
* こめんと欄
#comment
終了行:
* kbcl0のページ#6
-(by [[K]],2019.06.06)
** (9) 主要関数一覧
-void kerrorExit(const char *s, ...)
--s以降をstderrにfprintfしてから、exit(EXIT_FAILURE)する。
--[memo] 単にエラー処理を1行減らすために用意したもの。
-void *kerrorExitP0(void *p, const char *s, ...)
--もしpが0でなければ、何もしないでpを返す。
--もしpが0ならs以降でkerrorExitする。
--[memo] 単にエラー処理をさらに1行減らすために用意したも...
-void kqsort(void *base, int num, int size, void *cmp, vo...
-int kpopCount32(unsigned int b)
-int kpopCount64(unsigned long long b)
-unsigned int kgetMsb32(unsigned int i)
-''KPtrPool'' [class]
--KPtrPool(int s) [コンストラクタ]
---サイズsバイト専用のmalloc/free代用機構として初期化され...
--void *alloc()
---メモリをプールから取得する。プールが空の場合は、標準関...
--void free(void *p)
---メモリをプールに返す。どんなにたくさん返されても、標準...
--[memo] [[kclib1_0005]]での実験によると、KPtrPoolは標準...
-''KMalloc'' [class]
--void *alloc(int s)
---サイズsのメモリを確保する。
--void free(int s, void *p)
---メモリをkmallocに返す。この時サイズsを再度指定しなけれ...
--void *realloc(int s0, int s1, void *q)
---旧サイズs0から新サイズs1へ変更する。
--void report(FILE *fp)
---KMallocの利用状況をレポートする。デバッグ用。
--int inUse()
---KMallocが割り当て中のメモリの合計を返す。主にデバッグ...
---[memo] 処理の前後でのinUse()の値の差を求めると、メモリ...
--KPtrPool *ptrPool(int s)
---サイズsのメモリの管理を担当しているKPtrPoolへのポイン...
--void ready()
---もしKMallocが未初期化であれば確実に初期化する。
--[memo] kmallocはKMallocクラスのオブジェクトで、グローバ...
--[memo] KMallocはKPtrPoolを100個以上使って実装されている...
-''KSizPtr'' [class]
--可変長配列を提供する。メンバ変数p、sを適宜参照してよい...
---sを減らせば、いつでも配列の長さを低コストに減じること...
--KSizPtr() [コンストラクタ]
---特にマージンなどは用意せずに初期化。
--KSizPtr(int s1) [コンストラクタ]
---s1バイト分だけマージンを確保した状態で初期化する(もち...
--KSizPtr(KNoInit *ni) [コンストラクタ]
---あえて何も初期化しない。kmallocが利用可能ではない状況...
---もちろん未初期化のままでいることは想定外になるので、で...
--void reset(int s1 = 0)
---再初期化する。いったんすべて解放し、マージン領域も確保...
--void reserve(int s0)
---必要に応じてマージン領域を広げて、サイズs0まではreallo...
--void *reserve1(int s0)
---(s + s0)までreserveする。sもs0だけ増やされる。この関数...
--void expand2()
---マージン域まで含めた総サイズが2倍になるようにマージン...
--int addChar(int c)
---可変長配列の末尾に1バイト追加する。
--int addInt(int i)
---可変長配列の末尾に4バイト追加する。
--void *addPtr(void *p)
---可変長配列の末尾に4バイト追加する。
--void addBytes(int s, const char *p)
---可変長配列の末尾にsバイトを追加する。
--void *insPtr(int i, void *p)
---可変長配列の途中に4バイトを挿入する。挿入箇所はiで指定...
--void delPtr(int i)
---可変長配列の途中を4バイト削除する。削除箇所はiで指定。...
--void *getPtr(int i)
---可変長配列の中のi番目のポインタを取得する。iはバイト単...
--int vprintf(const char *f, va_list arg)
---vprintfした結果を可変長配列に追加する。サイズの自動伸...
--int printf(const char *f, ...)
---printfした結果を可変長配列に追加する。サイズの自動伸長...
--int addFile(const char *path, const char *mod, int flg)
---ファイルの内容を取り込んで可変長配列に追加する。
-''KAutoreleasePool'' [class]
--KAutoreleasePool() [コンストラクタ]
---普通に初期化する。
--KAutoreleasePool(KNoInit *ni) [コンストラクタ]
---あえて何も初期化しない。kmallocが利用可能ではない状況...
---もちろん未初期化のままでいることは想定外になるので、で...
--void add(int s, void *p, void *f, void *opt)
---プールにオブジェクトを登録する。fはデストラクタでoptは...
--int del(void *p, void **pf = 0, void **po = 0)
---プールに登録済みのオブジェクトをプールから削除する。関...
--int size(int *pn = 0)
---現在プールに登録されているオブジェクトのサイズの合計を...
--void *alloc(int s, void *f, void *opt)
---kmalloc.alloc(s)してからそのオブジェクトをプールに自動...
--void flush()
---プールに登録されたオブジェクトをすべてkmalloc.free()す...
---このメンバ関数を使わなくてもKAutoreleasePoolはデストラ...
-void *kreadFileA(const char *path, const char *mod, int ...
-void *ksgetsA(void *ps, int *psiz = 0)
-char *kcutCrLfM(void *p, int s = -1)
-char *kextractA(const char *p, int s = -1)
-''KIndexS'' [class]
-unsigned int kfnv32(void *p, int l)
-unsigned long long kfnv64(void *p, int l)
-''KIndexHS'' [class]
-''KIndexDict0'' [class]
-''KIndexDict3'' [class]
-''KBatchreleasePool'' [class]
-''KIndexStrId'' [class]
* こめんと欄
#comment
ページ名: