Main Page   Data Structures   File List   Data Fields   Globals   Related Pages  

palm/stack.c File Reference

A stack implementation that uses a growing memptr. More...

#include <MemoryMgr.h>
#include <ErrorMgr.h>
#include <FeatureMgr.h>
#include <ui.h>
#include <mem_compat.h>
#include <stack.h>

Go to the source code of this file.

Data Structures

struct  tag_dsobj
 stack object More...


Typedefs

typedef tag_dsobj dsObj
 stack object


Functions

dsObjStackNew (void)
 Create a new stack.

void StackDelete (dsObj *sp)
 delete the stack object

void StackResize (dsObj *sp, Int32 newsize)
 resize the stack based on the current size

Int32 StackPop (dsObj *sp)
 pop the first item from the stack

void StackPush (dsObj *sp, Int32 elt)
 push an item onto the stack

Int8 StackIsEmpty (dsObj *sp)
 check is the stack empty

void StackDoEmpty (dsObj *sp)
 empty the stack

Int32 StackNElements (dsObj *sp)
 get the number of elements on the stack

Int32 ListGet (dsObj *sp, Int32 index)
 get the specific item from the list

void ListSet (dsObj *sp, Int32 index, Int32 element)
 set the value at a certain index into the list to the value


Detailed Description

A stack implementation that uses a growing memptr.

Designed to hold unsigned longs... I live in an ILP32 / LP64 world. long == pointer in 32 bit and 64 bit. If not then just forgive me for this laziness. It's just that this implementation is for the palmOS platform.

Definition in file stack.c.


Function Documentation

Int32 ListGet dsObj   obj,
Int32    index
 

get the specific item from the list

Parameters:
obj  the list
index  the index into the list to get
Returns:
the value or -1 if not found

Definition at line 122 of file stack.c.

References Int32, and tag_dsObj::sp.

void ListSet dsObj   obj,
Int32    index,
Int32    value
 

set the value at a certain index into the list to the value

Parameters:
obj  the list
index  the index into the list
value  the value of that point

Definition at line 130 of file stack.c.

References Int32, and tag_dsObj::sp.

void StackDelete dsObj   obj
 

delete the stack object

Parameters:
obj  the object to delete

Definition at line 57 of file stack.c.

void StackDoEmpty dsObj   obj
 

empty the stack

Parameters:
obj  the stack to empty

Definition at line 110 of file stack.c.

References tag_dsObj::sp.

Int8 StackIsEmpty dsObj   obj
 

check is the stack empty

Parameters:
obj  the stack
Returns:
true if the stack is empty, false otherwise

Definition at line 104 of file stack.c.

References tag_dsObj::sp.

Int32 StackNElements dsObj   obj
 

get the number of elements on the stack

Parameters:
obj  the stack
Returns:
the number of objects on the stack

Definition at line 116 of file stack.c.

References tag_dsObj::sp.

dsObj* StackNew void   
 

Create a new stack.

preallocates 128 elements to the stack

Definition at line 34 of file stack.c.

References Int32, tag_dsObj::se, tag_dsObj::sl, and tag_dsObj::sp.

Int32 StackPop dsObj   obj
 

pop the first item from the stack

Parameters:
obj  the stack object
Returns:
the top item from the stack

Definition at line 83 of file stack.c.

References Int32, tag_dsObj::sl, tag_dsObj::sp, and StackResize().

void StackPush dsObj   obj,
Int32    value
 

push an item onto the stack

Parameters:
obj  the stack
value  the value to push

Definition at line 96 of file stack.c.

References Int32, tag_dsObj::se, tag_dsObj::sl, tag_dsObj::sp, and StackResize().

void StackResize dsObj   sp,
Int32    newSize
[static]
 

resize the stack based on the current size

Parameters:
sp  the stack object
newSize  the new size of the stack

Definition at line 67 of file stack.c.

References Int32, tag_dsObj::se, tag_dsObj::sl, tag_dsObj::sp, and UInt32.


Generated on Mon Aug 30 19:44:18 2004 for pocketcity by doxygen1.2.18