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

dsObj * StackNew (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