Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dkcSingleList.h File Reference

シングルリスト More...

#include "dkcOSIndependent.h"
#include "dkcBuffer.h"
#include "dkcSerialize.h"

Include dependency graph for dkcSingleList.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  dkc_SingleList
struct  dkc_SingleListObject

Defines

#define dkcSingleListDynamicSetBuffer(p, d, s)   dkcSingleListSetBuffer(p,d,s)
#define dkcFreeSingleListBuffer(p)   dkcFreeBuffer(p)

Typedefs

typedef dkc_SingleList DKC_SINGLELIST
typedef dkc_SingleListObject DKC_SINGLELIST_OBJECT

Functions

DKC_EXTERN DKC_SINGLELIST
*WINAPI 
dkcAllocSingleList (const void *data, size_t size)
 シングルリスト領域を得る。

DKC_EXTERN int WINAPI dkcFreeSingleList (DKC_SINGLELIST **ptr)
 dkcAllocNewSingleList()で確保したリスト領域と内部バッファを削除。dkcAllocNewSingleListと対。

DKC_EXTERN int WINAPI dkcSingleListInsert (DKC_SINGLELIST *ptr, const void *data, size_t size)
DKC_EXTERN void WINAPI dkcSingleListChain (DKC_SINGLELIST *ptr, DKC_SINGLELIST *nextp)
DKC_EXTERN size_t WINAPI dkcSingleListSize (DKC_SINGLELIST *top)
DKC_EXTERN DKC_SINGLELIST
*WINAPI 
dkcSingleListErase (DKC_SINGLELIST *ptr)
DKC_EXTERN int WINAPI dkcSingleListGetBuffer (DKC_SINGLELIST *ptr, void *data, size_t size)
DKC_EXTERN int WINAPI dkcSingleListSetBuffer (DKC_SINGLELIST *ptr, const void *data, size_t size)
DKC_EXTERN DKC_BUFFER *WINAPI dkcAllocSingleListBuffer (const DKC_SINGLELIST *ptr)
DKC_EXTERN DKC_SINGLELIST
*WINAPI 
dkcAllocSingleListDeserialize (DKC_DESERIALIZE *se)
 DKC_SERIALIZEから新しいSingleListを作る。.

DKC_EXTERN void WINAPI dkcSingleListSerialize (const DKC_SINGLELIST *ptr, DKC_SERIALIZE *se)
 DKC_SERIALIZEにシリアライズデータをぶち込む.

DKC_EXTERN DKC_SINGLELIST_OBJECT
*WINAPI 
dkcAllocSingleListObject (const void *data, size_t size)
DKC_EXTERN int WINAPI dkcFreeSingleListObject (DKC_SINGLELIST_OBJECT **)
DKC_EXTERN DKC_SINGLELIST_OBJECT
*WINAPI 
dkcAllocSingleListObjectDeserialize (DKC_DESERIALIZE *se)
DKC_EXTERN void WINAPI dkcSingleListObjectSerialize (const DKC_SINGLELIST_OBJECT *ptr, DKC_SERIALIZE *se)


Detailed Description

シングルリスト

Since:
2003/3/xx
Note:
なかなかインターネット上でも見かけない?シングルリスト。
ちなみにC++のSTLのstd::slistは非標準なのですが、ほぼ標準と考えて宜しいとの事で・・・。 C++派はslistを薦めます^^;;;

Define Documentation

#define dkcFreeSingleListBuffer  )     dkcFreeBuffer(p)
 

#define dkcSingleListDynamicSetBuffer p,
d,
 )     dkcSingleListSetBuffer(p,d,s)
 

dkcSingleListSetBuffer()のWrapper


Typedef Documentation

typedef struct dkc_SingleList DKC_SINGLELIST
 

シングルリスト構造体

typedef struct dkc_SingleListObject DKC_SINGLELIST_OBJECT
 

stlもどき(の、つもり・・・)


Function Documentation

DKC_EXTERN DKC_SINGLELIST* WINAPI dkcAllocSingleList const void *  data,
size_t  size
 

シングルリスト領域を得る。

DKC_EXTERN DKC_BUFFER* WINAPI dkcAllocSingleListBuffer const DKC_SINGLELIST ptr  ) 
 

Returns:
シングルリストの一つの要素が確保しているバッファの中のデータのコピーを返す。

DKC_EXTERN DKC_SINGLELIST* WINAPI dkcAllocSingleListDeserialize DKC_DESERIALIZE se  ) 
 

DKC_SERIALIZEから新しいSingleListを作る。.

DKC_EXTERN DKC_SINGLELIST_OBJECT* WINAPI dkcAllocSingleListObject const void *  data,
size_t  size
 

DKC_EXTERN DKC_SINGLELIST_OBJECT* WINAPI dkcAllocSingleListObjectDeserialize DKC_DESERIALIZE se  ) 
 

DKC_EXTERN int WINAPI dkcFreeSingleList DKC_SINGLELIST **  ptr  ) 
 

dkcAllocNewSingleList()で確保したリスト領域と内部バッファを削除。dkcAllocNewSingleListと対。

DKC_SINGLELISTをデリート (リンクしてあるリストも削除します。 一つだけの要素を削除したい場合はdkcEraseSingleListを使ってください。)

Note:
必ず使用したあとはこれを呼んでください。

DKC_EXTERN int WINAPI dkcFreeSingleListObject DKC_SINGLELIST_OBJECT **   ) 
 

DKC_EXTERN void WINAPI dkcSingleListChain DKC_SINGLELIST ptr,
DKC_SINGLELIST nextp
 

DKC_EXTERN DKC_SINGLELIST* WINAPI dkcSingleListErase DKC_SINGLELIST ptr  ) 
 

Parameters:
ptr[in] 削除したい要素へのポインタ
Returns:
削除した要素に次への要素を指しているポインタがあった場合、そのポインタを返す。 NULLの場合は、次への要素を指しているポインタは無かった。

DKC_EXTERN int WINAPI dkcSingleListGetBuffer DKC_SINGLELIST ptr,
void *  data,
size_t  size
 

リスト構造体内に保存しているデータをもらう

DKC_EXTERN int WINAPI dkcSingleListInsert DKC_SINGLELIST ptr,
const void *  data,
size_t  size
 

Note:
ptrの次に新しいデータを挿入する。 新しいデータの次にptrの次へのデータが挿入される。 図: 1: ptr->next1->next2; 2: ptr->new data->next1->next2;

DKC_EXTERN void WINAPI dkcSingleListObjectSerialize const DKC_SINGLELIST_OBJECT ptr,
DKC_SERIALIZE se
 

DKC_EXTERN void WINAPI dkcSingleListSerialize const DKC_SINGLELIST ptr,
DKC_SERIALIZE se
 

DKC_SERIALIZEにシリアライズデータをぶち込む.

DKC_EXTERN int WINAPI dkcSingleListSetBuffer DKC_SINGLELIST ptr,
const void *  data,
size_t  size
 

シングルリストの一つの要素が持っているバッファにデータを書き込む(上書きする) 足りないバッファサイズはリサイズされる。

DKC_EXTERN size_t WINAPI dkcSingleListSize DKC_SINGLELIST top  ) 
 

Parameters:
top[in] リストの先端
Returns:
リストのようその数


Generated on Mon Apr 26 19:37:11 2004 for dkutil_c by doxygen 1.3.6