Tools.h++ Manual

23-30 104011 Tandem Computers Incorporated
23
RWGStack(type)
RWGStack(type)
|
RWSlist
Synopsis
#include <rw/gstack.h>
declare(RWGStack,
type
)
RWGStack(
type
) a;
Description Class
RWGStack
(type) represents a group of ordered elements, not accessible
by an external key. A
RWGStack
(type) is a last in, first out (LIFO) sequential list
for which insertions and removals are made at the beginning of the list. Hence,
the ordering is determined externally by the ordering of the insertions.
Duplicates are allowed. This class is implemented as a singly-linked list.
Objects of type
RWGStack
(type) are declared with macros defined in the
standard C++ header file
<generic.h>
.
In order to find a particular item within the collection, a user-provided global
“tester” function is required to test for a “match,” definable in any consistent
way. This function should have prototype:
RWBoolean
yourTesterFunction
(const
type
* c, const void* d);
The argument
c
is a candidate within the collection to be tested for a match.
The argument
d
is for your convenience and will be passed to
yourTesterFunction(). The function should return
TRUE
if a “match” is found
between
c
and
d
.
In order to simplify the documentation below, an imaginary typedef
typedef RWBoolean (*
yourTester
)(const
type
*, const void*)
;
has been used for this tester function.
Public constructors
RWGStack(
type
)();
Construct an empty stack.
RWGStack(
type
)(
type
* a);
Construct a stack with one entry
a
.
RWGStack(
type
)(const RWGStack(
type
)& a);
Copy constructor. A shallow copy of
a
is made.