|
cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
構造化データ操作 共通関数 I/Fヘッダファイル [詳解]
#include "cmnclib/Common.h"データ構造 | |
| struct | tag_CmnDataListItem |
| struct | tag_CmnDataList |
| struct | _tag_CmnDataStackItem |
| struct | _tag_CmnDataStack |
| struct | _tag_CmnDataBuffer |
型定義 | |
| typedef struct tag_CmnDataListItem | CmnDataListItem |
| typedef struct tag_CmnDataList | CmnDataList |
| typedef struct _tag_CmnDataStackItem | CmnDataStackItem |
| typedef struct _tag_CmnDataStack | CmnDataStack |
| typedef struct _tag_CmnDataBuffer | CmnDataBuffer |
関数 | |
| D_EXTERN CmnDataList * | CmnDataList_Create () |
| 単方向リスト作成 [詳解] | |
| D_EXTERN void | CmnDataList_Free (CmnDataList *list, void *method) |
| 単方向リスト解放 [詳解] | |
| D_EXTERN void | CmnDataList_Add (CmnDataList *list, void *data) |
| 単方向リスト要素追加 [詳解] | |
| D_EXTERN void * | CmnDataList_Get (CmnDataList *list, int index) |
| 単方向リスト要素取得 [詳解] | |
| D_EXTERN CmnDataStack * | CmnDataStack_Create () |
| スタック作成 [詳解] | |
| D_EXTERN void | CmnDataStack_Free (CmnDataStack *stack, void *method) |
| スタック解放 [詳解] | |
| D_EXTERN void | CmnDataStack_Push (CmnDataStack *stack, void *data) |
| スタックに要素追加 [詳解] | |
| D_EXTERN void * | CmnDataStack_Pop (CmnDataStack *stack) |
| スタックから要素取得 [詳解] | |
| D_EXTERN CmnDataBuffer * | CmnDataBuffer_Create (size_t bufSize) |
| 自動領域拡張バッファ作成 [詳解] | |
| D_EXTERN int | CmnDataBuffer_Append (CmnDataBuffer *buf, const void *data, size_t len) |
| 自動領域拡張バッファへのデータ追加 [詳解] | |
| D_EXTERN int | CmnDataBuffer_Set (CmnDataBuffer *buf, const void *data, size_t len) |
| 自動領域拡張バッファへのデータ設定 [詳解] | |
| D_EXTERN void | CmnDataBuffer_Delete (CmnDataBuffer *buf, size_t len) |
| 自動領域拡張バッファのデータ削除 [詳解] | |
| D_EXTERN void | CmnDataBuffer_Free (CmnDataBuffer *buf) |
| 自動領域拡張バッファの解放 [詳解] | |
構造化データ操作 共通関数 I/Fヘッダファイル
構造化データ操作系共通関数を使用するためのI/Fヘッダファイル。
構造化データ操作系の共通関数を使用する場合は、このヘッダファイルを読み込むこと
| typedef struct _tag_CmnDataBuffer CmnDataBuffer |
自動領域拡張バッファ
| typedef struct tag_CmnDataList CmnDataList |
単方向リスト(線状リスト)
| typedef struct tag_CmnDataListItem CmnDataListItem |
単方向リストの要素
| typedef struct _tag_CmnDataStack CmnDataStack |
スタック
| typedef struct _tag_CmnDataStackItem CmnDataStackItem |
スタックの要素
| D_EXTERN int CmnDataBuffer_Append | ( | CmnDataBuffer * | buf, |
| const void * | data, | ||
| size_t | len | ||
| ) |
自動領域拡張バッファへのデータ追加
自動領域拡張バッファの末尾にデータを追加する。
| buf | 自動拡張バッファ |
| data | 追加するデータ |
| len | バッファに書き込むデータの長さ |
| D_EXTERN CmnDataBuffer* CmnDataBuffer_Create | ( | size_t | bufSize | ) |
自動領域拡張バッファ作成
自動領域拡張バッファを新規に作成する。
| bufSize | 初期バッファサイズ。0を指定した場合はデフォルトのバッファサイズが適用される。 |
| D_EXTERN void CmnDataBuffer_Delete | ( | CmnDataBuffer * | buf, |
| size_t | len | ||
| ) |
自動領域拡張バッファのデータ削除
自動領域拡張バッファのデータを一部もしくは全部削除する。
| buf | 自動拡張バッファ |
| len | 削除する長さ |
| D_EXTERN void CmnDataBuffer_Free | ( | CmnDataBuffer * | buf | ) |
自動領域拡張バッファの解放
自動領域拡張バッファが不要になった場合、メモリ解放のために必ず本関数を呼び出すこと。
| buf | 自動拡張バッファ |
| D_EXTERN int CmnDataBuffer_Set | ( | CmnDataBuffer * | buf, |
| const void * | data, | ||
| size_t | len | ||
| ) |
自動領域拡張バッファへのデータ設定
自動領域拡張バッファにデータを設定する。もとのデータは上書かれる。
| buf | 自動拡張バッファ |
| data | 設定するデータ |
| len | バッファに書き込むデータの長さ |
| D_EXTERN void CmnDataList_Add | ( | CmnDataList * | list, |
| void * | data | ||
| ) |
単方向リスト要素追加
単方向リストの末尾に要素を追加する。 引数が不正な場合は何もしない。
| list | (I/O) 要素を追加するリストへのポインタ |
| data | (I) 追加する要素(データ) |
| D_EXTERN CmnDataList* CmnDataList_Create | ( | ) |
単方向リスト作成
単方向リストを新規に作成する。
| D_EXTERN void CmnDataList_Free | ( | CmnDataList * | list, |
| void * | method | ||
| ) |
単方向リスト解放
単方向リストを破棄し、メモリ領域を解放する
| list | (I/O) 解放する単方向リストへのポインタ |
| method | (I) リスト内で保持しているデータを解放する関数へのポインタ。 (単にmalloc関数を使用して確保したメモリなら、freeを指定すれば良い) 指定する関数のI/Fは、以下の条件を満たしていること。
(グローバルメモリや関数ポインタをリストとして格納する場合などにNULLを指定する) |
| D_EXTERN void* CmnDataList_Get | ( | CmnDataList * | list, |
| int | index | ||
| ) |
単方向リスト要素取得
単方向リストから要素(データ)を取得する
| list | (I) 要素を取得するリストへのポインタ |
| index | (I) 取得する要素のインデックス(最初の要素を0とする) |
| D_EXTERN CmnDataStack* CmnDataStack_Create | ( | ) |
スタック作成
スタックを新規に作成する。
| D_EXTERN void CmnDataStack_Free | ( | CmnDataStack * | stack, |
| void * | method | ||
| ) |
スタック解放
スタックを破棄し、メモリ領域を解放する
| list | (I/O) 解放するスタックへのポインタ |
| method | (I) スタック内で保持しているデータを解放する関数へのポインタ。 (単にmalloc関数を使用して確保したメモリなら、freeを指定すれば良い) 指定する関数のI/Fは、以下の条件を満たしていること。
(グローバルメモリや関数ポインタをスタックに格納する場合などにNULLを指定する) |
| D_EXTERN void* CmnDataStack_Pop | ( | CmnDataStack * | stack | ) |
スタックから要素取得
スタックから要素(データ)を取り出す。
| stack | (I) 要素を取得するスタックへのポインタ |
| D_EXTERN void CmnDataStack_Push | ( | CmnDataStack * | stack, |
| void * | data | ||
| ) |
スタックに要素追加
スタックに要素を追加する。 引数が不正な場合は何もしない。
| list | (I/O) 要素を追加するスタックへのポインタ |
| data | (I) 追加する要素(データ) |