stack(3) UNIX System V (Apr 20, 1999) stack(3)
Stack
Inherits from:
Cltn
Class Description
Stack instances are collections that maintain their entries
in LIFO (last in first out) order. Although Stacks are most
often controlled by the push: and pop methods, the class
also provides for random access of the stack, through the
at: and removeAt: methods. Note that the indices are
relative to the top (last added) item on the stack, which is
the opposite of how the OrdCltn class works.
Method types
Creation
* new
* new:
* copy
* deepCopy
* emptyYourself
* freeContents
* free
Interrogation
* depth
* isEmpty
* eachElement
* topElement
Adding
* push:
* pop
* swap
* at:
* removeAt:
Printing
* printOn:
Methods
new
+ new
Returns a new empty stack.
new:
+ new :(unsigned) n
Returns a new empty stack, that can hold n objects.
copy
Page 1 (printed 6/28/99)
stack(3) UNIX System V (Apr 20, 1999) stack(3)
- copy
Returns a new copy of the stack.
deepCopy
- deepCopy
Returns a new copy of the stack. The members in the new
stack are deep copies of the members in the original stack.
emptyYourself
- emptyYourself
Removes all the members of the stack (without freeing them).
Returns the receiver.
freeContents
- freeContents
Removes and frees all the members of the receiver, but
doesn't free the receiver itself. Returns the receiver.
free
- free
Frees the stack, but not its contents. Returns nil . Do :
aCltn = [[aCltn freeContents] free];
if you want to free the collection and its contents.
depth
- ( unsigned ) depth
Returns the number of objects on the stack.
isEmpty
- ( BOOL ) isEmpty
Whether the number of objects on the stack is equal to zero.
eachElement
- eachElement
Returns a sequence of the elements in the collection.
aSeq = [myStack eachElement];
while ((anElement = [aSeq next])) {
/* do something */
}
aSeq = [aSeq free];
Page 2 (printed 6/28/99)
stack(3) UNIX System V (Apr 20, 1999) stack(3)
topElement
- topElement
Returns the top element on the stack, without removing it.
Returns nil if there are no elements on the stack.
push:
- push : anObject
Pushes anObject on the stack, so that it becomes the top of
the stack. Returns self .
pop
- pop
Pops the top of the stack and returns it. Returns nil if
the stack is empty.
swap
- swap
Exchanges the top two stack items and returns the receiver.
Generates an exception if the stack is not at least two
items deep.
at:
- at :(unsigned ) anOffset
Returns the object at anOffset . Note that the top of the
stack is at offset 0.
removeAt:
- removeAt :(unsigned ) anOffset
Removes the object at anOffset . Note that the top of the
stack is at offset 0.
printOn:
- printOn :(IOD) aFile
Prints a list of the objects in the objects by sending each
individual object a printOn: message. Returns the
receiver.
Page 3 (printed 6/28/99)