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

# dkcStack.h

説明を見る。

    00001 /*
    00002 @file dkcStack.h
    00003 @author d金魚
    00004 @since 2004/3/xx
    00005 @brief スタック構造
    00006 */
    00007
    00008
    00009 #ifndef DKUTIL_C_STACK_H
    00010 #define DKUTIL_C_STACK_H
    00011
    00012
    00013
    00014 #include "dkcOSIndependent.h"
    00015
    00016 /*
    00017 typedef struct dkc_Stack{
    00019     BYTE *mBuffer;
    00021     size_t mSize;
    00023     size_t mRear;
    00025     size_t mOffsetOf;
    00026 }DKC_STACK;
    00027 */
    00031 typedef struct dkc_Stack{
    00033     BYTE *mBuffer;
    00035     size_t mSize;
    00037     size_t mCount;
    00039     size_t mOffsetOf;
    00040 }DKC_STACK;
    00041
    00042
    00043
    00044
    00050 DKC_EXTERN DKC_STACK * WINAPI dkcAllocStack(size_t numoff__,size_t offsetof__);
    00057 DKC_EXTERN int WINAPI dkcFreeStack(DKC_STACK **ptr);
    00058
    00059
    00063
    00064 DKC_EXTERN void WINAPI dkcStackPop(DKC_STACK *ptr);
    00065
    00066 DKC_EXTERN int WINAPI dkcStackTop(DKC_STACK *ptr,void *);
    00068 DKC_EXTERN size_t WINAPI dkcStackSize(DKC_STACK *ptr);
    00070 DKC_EXTERN BOOL WINAPI dkcStackIsEmpty(DKC_STACK *ptr);
    00074
    00075 DKC_EXTERN int WINAPI dkcStackPush(DKC_STACK *ptr,const void *);
    00077 DKC_EXTERN int WINAPI dkcStackDynamicPush(DKC_STACK *ptr,const void *);
    00078
    00080 DKC_EXTERN void *WINAPI dkcStackPointer(DKC_STACK *ptr);
    00084 DKC_EXTERN void WINAPI dkcStackClear(DKC_STACK *ptr);
    00086 DKC_EXTERN size_t WINAPI dkcStackCapacity(DKC_STACK *ptr);
    00088 DKC_EXTERN size_t WINAPI dkcStackRestSize(DKC_STACK *ptr);
    00089
    00090
    00091
    00092 #if !defined( DKUTIL_C_STACK_C ) &&  defined(USE_DKC_INDEPENDENT_INCLUDE)
    00093 #   include "dkcStack.c"
    00094 #endif
    00095
    00096 #endif //end of include once