cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnData.h
[詳解]
1 
12 #ifndef CMNCLIB_CMN_DATA_H
13 #define CMNCLIB_CMN_DATA_H
14 
15 #include "cmnclib/Common.h"
16 
18 typedef struct tag_CmnDataListItem {
19  void *data;
22 
24 typedef struct tag_CmnDataList {
25  int size;
27 } CmnDataList;
28 
30 typedef struct _tag_CmnDataStackItem {
33  void *data;
35 
37 typedef struct _tag_CmnDataStack {
40  unsigned long size;
41 } CmnDataStack;
42 
44 typedef struct _tag_CmnDataBuffer {
45  void *data;
46  size_t bufSize;
47  size_t size;
49 
50 /* --- CmnDataList.c --- */
52 D_EXTERN void CmnDataList_Free(CmnDataList *list, void *method);
53 D_EXTERN void CmnDataList_Add(CmnDataList *list, void *data);
54 D_EXTERN void *CmnDataList_Get(CmnDataList *list, int index);
55 
56 /* --- CmnDataStack.c --- */
58 D_EXTERN void CmnDataStack_Free(CmnDataStack *stack, void *method);
59 D_EXTERN void CmnDataStack_Push(CmnDataStack *stack, void *data);
60 D_EXTERN void* CmnDataStack_Pop(CmnDataStack *stack);
61 
62 /* --- CmnDataBuffer.c --- */
63 D_EXTERN CmnDataBuffer* CmnDataBuffer_Create(size_t bufSize);
64 D_EXTERN int CmnDataBuffer_Append(CmnDataBuffer *buf, const void *data, size_t len);
65 D_EXTERN int CmnDataBuffer_Set(CmnDataBuffer *buf, const void *data, size_t len);
66 D_EXTERN void CmnDataBuffer_Delete(CmnDataBuffer *buf, size_t len);
67 D_EXTERN void CmnDataBuffer_Free(CmnDataBuffer *buf);
68 
69 #endif /* CMNCLIB_CMN_DATA_H */
70 
Definition: CmnData.h:24
int size
Definition: CmnData.h:25
D_EXTERN void * CmnDataList_Get(CmnDataList *list, int index)
単方向リスト要素取得
Definition: CmnDataList.c:137
Definition: CmnData.h:44
D_EXTERN void CmnDataBuffer_Delete(CmnDataBuffer *buf, size_t len)
自動領域拡張バッファのデータ削除
Definition: CmnDataBuffer.c:151
struct _tag_CmnDataStackItem * prev
Definition: CmnData.h:31
struct _tag_CmnDataStack CmnDataStack
size_t size
Definition: CmnData.h:47
struct tag_CmnDataListItem * next
Definition: CmnData.h:20
D_EXTERN void CmnDataStack_Free(CmnDataStack *stack, void *method)
スタック解放
Definition: CmnDataStack.c:54
Definition: CmnData.h:30
CmnDataListItem * first
Definition: CmnData.h:26
D_EXTERN void CmnDataStack_Push(CmnDataStack *stack, void *data)
スタックに要素追加
Definition: CmnDataStack.c:89
D_EXTERN void * CmnDataStack_Pop(CmnDataStack *stack)
スタックから要素取得
Definition: CmnDataStack.c:126
size_t bufSize
Definition: CmnData.h:46
unsigned long size
Definition: CmnData.h:40
void * data
Definition: CmnData.h:45
struct _tag_CmnDataBuffer CmnDataBuffer
CmnDataStackItem * first
Definition: CmnData.h:38
D_EXTERN CmnDataBuffer * CmnDataBuffer_Create(size_t bufSize)
自動領域拡張バッファ作成
Definition: CmnDataBuffer.c:25
struct tag_CmnDataListItem CmnDataListItem
struct _tag_CmnDataStackItem * next
Definition: CmnData.h:32
D_EXTERN void CmnDataBuffer_Free(CmnDataBuffer *buf)
自動領域拡張バッファの解放
Definition: CmnDataBuffer.c:168
struct tag_CmnDataList CmnDataList
D_EXTERN int CmnDataBuffer_Set(CmnDataBuffer *buf, const void *data, size_t len)
自動領域拡張バッファへのデータ設定
Definition: CmnDataBuffer.c:102
CmnDataStackItem * last
Definition: CmnData.h:39
void * data
Definition: CmnData.h:33
D_EXTERN void CmnDataList_Add(CmnDataList *list, void *data)
単方向リスト要素追加
Definition: CmnDataList.c:94
共通関数 メインヘッダファイル
Definition: CmnData.h:37
D_EXTERN void CmnDataList_Free(CmnDataList *list, void *method)
単方向リスト解放
Definition: CmnDataList.c:60
void * data
Definition: CmnData.h:19
D_EXTERN CmnDataList * CmnDataList_Create()
単方向リスト作成
Definition: CmnDataList.c:26
D_EXTERN CmnDataStack * CmnDataStack_Create()
スタック作成
Definition: CmnDataStack.c:22
struct _tag_CmnDataStackItem CmnDataStackItem
Definition: CmnData.h:18
D_EXTERN int CmnDataBuffer_Append(CmnDataBuffer *buf, const void *data, size_t len)
自動領域拡張バッファへのデータ追加
Definition: CmnDataBuffer.c:60