#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 | dkcDequeSerialize (const DKC_DEQUE *ptr, DKC_SERIALIZE *se) |
DKC_DEQUE *WINAPI | dkcAllocQueueDeserialize (DKC_DESERIALIZE *se) |
int WINAPI | dkcDequeGetPoint (const DKC_DEQUE *ptr, size_t point_of__, void *buffer, size_t buffsize) |
dkcDeque.c で定義されています。
|
dkcDeque.c の 7 行で定義されています。 |
|
キュー領域を得る。
dkcDeque.c の 13 行で定義されています。 参照先 DKC_DEQUE, 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 } |
|
dkcQueue.c の 178 行で定義されています。
00178 { 00179 DKC_QUEUE *p; 00180 DKC_QUEUE t; 00181 size_t read; 00182 int id; 00183 00184 dkcDeserializeRead(se,&id,sizeof(id),&read); 00185 if(id != edkcSerializeIDQueue) 00186 { 00187 return NULL; 00188 } 00189 dkcDeserializeRead(se,&t,sizeof(t),&read); 00190 00191 p = dkcAllocQueue(t.mSize,t.mOffsetOf); 00192 if(NULL==p) return NULL; 00193 00194 p->mEntrance = t.mEntrance; 00195 p->mExit = t.mExit; 00196 dkcDeserializeRead(se,p->mBuffer,p->mSize,&read); 00197 00198 dkcmNOT_ASSERT(read != p->mSize); 00199 00200 return p; 00201 } |
|
キューをクリアする。 |
|
|
|
|
|
|
|
|
|
|
|
DKC_DEQUEをデリート dkcDeque.c の 36 行で定義されています。 参照先 DKC_DEQUE, dkcFree(), edk_ArgumentException, と NULL.
00036 { 00037 if(NULL==ptr || NULL == (*ptr)) return edk_ArgumentException; 00038 dkcFree((void **)&(*ptr)->mBuffer); 00039 return dkcFree((void **)ptr); 00040 } |