Main Page   Data Structures   File List   Data Fields   Globals   Related Pages  

source/stack.h File Reference

interface to the stack functions More...

#include <appconfig.h>

Go to the source code of this file.

Defines

#define ListNew   StackNew
 create a new list

#define ListDelete   StackDelete
 delete a list

#define ListAdd   StackPush
 add an item to the list

#define ListNElements   StackNElements
 get number of elements on a list


Functions

dsObjStackNew (void)
 Create a new stack.

void StackDelete (dsObj *obj)
 delete the stack object

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

void StackPush (dsObj *obj, Int32 value)
 push an item onto the stack

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

void StackDoEmpty (dsObj *obj)
 empty the stack

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

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

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

void ListInsert (dsObj *obj, Int32 index, Int32 value)
 insert an item into the list at a certain location

Int32 ListRemove (dsObj *obj, Int32 index)
 remove an item from the list


Detailed Description

interface to the stack functions

These functions are indended to to provide a simplified set of stack routines that mey be implemented without reallocating them.

Definition in file stack.h.


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 tag_dsObj::bp, Int32, and tag_dsObj::sp.

void ListInsert dsObj   obj,
Int32    index,
Int32    value
 

insert an item into the list at a certain location

It is inserted at the location shuffling the old item down one on the list.

Parameters:
obj  the list object
index  the index into the list
value  the new value

Definition at line 118 of file stack.c.

References tag_dsObj::bp, Int32, tag_dsObj::sp, and StackPush().

Int32 ListRemove dsObj   obj,
Int32    index
 

remove an item from the list

Parameters:
obj  the list object
index  the index from which to remove the item
Returns:
the value that was stored there

Definition at line 131 of file stack.c.

References tag_dsObj::bp, Int32, tag_dsObj::sp, and StackPop().

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 tag_dsObj::bp, 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.

References tag_dsObj::bp.

Referenced by DoDistribute().

void StackDoEmpty dsObj   obj
 

empty the stack

Parameters:
obj  the stack to empty

Definition at line 110 of file stack.c.

References tag_dsObj::bp, and tag_dsObj::sp.

Referenced by DoDistribute().

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::bp, and tag_dsObj::sp.

Referenced by DistributeUnvisited(), and SupplyIfPlant().

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::bp, and tag_dsObj::sp.

dsObj* StackNew void   
 

Create a new stack.

preallocates 128 elements to the stack

Definition at line 34 of file stack.c.

Referenced by DoDistribute().

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 tag_dsObj::bp, and tag_dsObj::sp.

Referenced by DistributeUnvisited(), ListRemove(), and SupplyIfPlant().

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().

Referenced by AddNeighbors(), DistributeUnvisited(), and ListInsert().


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