メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcDeque.c

`#include "dkcDeque.h"`
`#include "dkcStdio.h"`

dkcDeque.cのインクルード依存関係図

ソースコードを見る。

## マクロ定義
#define | DKUTIL_C_DEQUE_C
## 関数
DKC_DEQUE *WINAPI | dkcAllocDeque (size_t numof__, size_t offsetof__)
| キュー領域を得る。
int WINAPI | dkcFreeDeque (DKC_DEQUE **ptr)
int WINAPI | dkcDequePopBack (DKC_DEQUE *ptr, void *)
int WINAPI | dkcDequePushFront (DKC_DEQUE *ptr, const void *)
int WINAPI | dkcDequePopFront (DKC_DEQUE *ptr, void *)
void WINAPI | dkcDequeClear (DKC_DEQUE *ptr)
int WINAPI | dkcDequeGetPoint (const DKC_DEQUE *ptr, size_t point_of__, void *buffer, size_t buffsize)

## 説明

作者:
  d金魚 @

dkcDeque.c で定義されています。

## マクロ定義

#define DKUTIL_C_DEQUE_C

| dkcDeque.c の 7 行で定義されています。

## 関数

DKC_DEQUE* WINAPI dkcAllocDeque | ( | size_t | numof__,
|  | size_t | offsetof__
| ) |

  | キュー領域を得る。 引数:
  | numof__[in] | double ended queueに使う配列の要素の数
  | offsetof__[in] | double ended queueにぶち込むデータのサイズ
戻り値: double ended queueハンドルへのポインタ。 dkcDeque.c の 13 行で定義されています。 参照先 dkcAllocate(), dkcFree(), dkc_Deque::mBuffer, dkc_Deque::mOffsetOf, dkc_Deque::mSize, と NULL.
    00014 {
    00015     DKC_DEQUE *p;
    00016     size_t size = numof__ * offsetof__;
    00017
    00018     p = dkcAllocate(sizeof(DKC_DEQUE));
    00019     if(NULL==p) return NULL;
    00020
    00021     p->mBuffer = dkcAllocate(size);
    00022     if(NULL==p->mBuffer) goto Error;
    00023
    00024     /* dkcAllocateでmemset(0)なのでヽ(ﾟдﾟ)ノ　ええじゃないか
    00025     p->mCount = 0;
    00026     p->mEnd = 0;
    00027     p->mStart = 0;
    00028     */
    00029     p->mSize = size;
    00030     p->mOffsetOf = offsetof__;
    00031 Error:
    00032     dkcFree((void **)&p);
    00033     return NULL;
    00034 }

void WINAPI dkcDequeClear | ( | DKC_DEQUE * | ptr | ) |

| キューをクリアする。

int WINAPI dkcDequeGetPoint | ( | const DKC_DEQUE * | ptr,
|  | size_t | point_of__,
|  | void * | buffer,
|  | size_t | buffsize
| ) |

  | 引数:
  | ptr[in] | queue
  | point_of__[in] | ポイント
  | buffer[in] | バッファへのポインタ
  | buffsize[in] | バッファのサイズ

int WINAPI dkcDequePopBack | ( | DKC_DEQUE * | ptr,
|  | void * |
| ) |

  | 引数:
  | id[in] | 同じidを二回解放するとバグリます。

int WINAPI dkcDequePopFront | ( | DKC_DEQUE * | ptr,
|  | void * |
| ) |

int WINAPI dkcDequePushFront | ( | DKC_DEQUE * | ptr,
|  | const void * |
| ) |

int WINAPI dkcFreeDeque | ( | DKC_DEQUE ** | ptr | ) |

| DKC_DEQUEをデリート dkcDeque.c の 36 行で定義されています。 参照先 dkcFree(), と NULL.
    00036                                         {
    00037     if(NULL==ptr || NULL == (*ptr)) return edk_ArgumentException;
    00038     dkcFree((void **)&(*ptr)->mBuffer);
    00039     return dkcFree((void **)ptr);
    00040 }