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:

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

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 | ( | p |  | ) | dkcFreeBuffer(p)

#define dkcSingleListDynamicSetBuffer | ( | p,
|  | d,
|  | s |  | ) | 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: リストのようその数