|
Data Structures |
struct | DynamicStack |
Defines |
#define | DynStk_Top(DS) ( (DS).stack.top ) |
#define | DynStk_Base(DS) ( (DS).stack.base ) |
#define | DynStk_Ceiling(DS) ( (DS).stack.ceiling ) |
#define | DynStk_FrameSize(DS) ( (DS).size.frame ) |
#define | DynStk_InitSize(DS) ( (DS).size.stackinit ) |
#define | DynStk_CurSize(DS) ( (DS).size.stackcur ) |
#define | DynStk_Name(DS) ( (DS).name ) |
#define | DynStk_NumFrames(DS) (((char *)DynStk_Top(DS) - (char *)DynStk_Base(DS)) / DynStk_FrameSize(DS)) |
#define | DynStk_NextFrame(DS) (void *)((char *)DynStk_Top(DS) + DynStk_FrameSize(DS)) |
#define | DynStk_PrevFrame(DS) (void *)((char *)DynStk_Top(DS) - DynStk_FrameSize(DS)) |
#define | DynStk_Init(DS, NumElements, FrameType, Desc) dsInit(DS,NumElements,sizeof(FrameType),Desc) |
#define | DynStk_ResetTOS(DS) DynStk_Top(DS) = DynStk_Base(DS) |
#define | DynStk_IsEmpty(DS) ( DynStk_Top(DS) == DynStk_Base(DS) ) |
#define | DynStk_IsFull(DS) ( DynStk_Top(DS) >= DynStk_Ceiling(DS) ) |
#define | DynStk_WillOverflow(DS, NFrames) |
#define | DynStk_ExpandIfFull(DS) |
#define | DynStk_ExpandIfOverflow(DS, N) |
#define | DynStk_Push(DS, Frame) |
#define | DynStk_Pop(DS, Frame) |
#define | DynStk_Peek(DS, Frame) |
#define | DynStk_BlindPush(DS, Frame) |
#define | DynStk_BlindPop(DS, Frame) |
#define | DynStk_BlindPeek(DS, Frame) Frame = DynStk_PrevFrame(DS) |
Functions |
void | dsPrint (DynamicStack, char *) |
void | dsInit (DynamicStack *, size_t, size_t, char *) |
void | dsExpand (DynamicStack *, int) |
void | dsShrink (DynamicStack *) |