Click on the banner to return to the Class Reference home page.

©Copyright 1996 Rogue Wave Software

RWSlistCollectablesStack


RWSlistCollectablesStackRWSlistCollectablesRWSequenceable ...
     ... RWCollectionRWCollectable

Synopsis

// Smalltalk typedef:
typedef RWSlistCollectablesStack Stack; 
#include <rw/stackcol.h>
RWSlistCollectablesStack a;

Description

Class RWSlistCollectablesStack represents a restricted interface to class RWSlistCollectables to implement a last in first out (LIFO) stack. A Stack is a sequential list for which all insertions and deletions are made at one end (the beginning of the list). Hence, the ordering is determined externally by the ordering of the insertions. Duplicates are allowed.

An object stored by RWSlistCollectablesStack must inherit abstract base class RWCollectable. The virtual function isEqual() (see class RWCollectable) is required, to find a match between a target and an item in the stack.

This class corresponds to the Smalltalk class Stack.

Persistence

Polymorphic

Public Constructors

RWSlistCollectablesStack();
RWSlistCollectablesStack(RWCollectable* a);
RWSlistCollectablesStack(const RWSlistCollectablesStack& s);

Assignment Operator

void
operator=(const RWSlistCollectablesStack& s);

Public Member Functions

virtual void
apply(RWapplyCollectable ap, void*);
virtual RWspace
binaryStoreSize() const;
virtual void
clear();
virtual void
clearAndDestroy();
virtual RWBoolean
contains(const RWCollectable* target) const;
RWBoolean
containsReference(const RWCollectable* e) const;
virtual size_t
entries() const;
virtual RWCollectable*
first() const;
virtual RWCollectable*
insert(RWCollectable* c);
virtual RWClassID
isA() const;
virtual RWBoolean
isEmpty()const;
virtual RWCollectable*
last() const;
virtual size_t
occurrencesOf(const RWCollectable* target) const;
size_t
occurrencesOfReference(const RWCollectable* e) const;
virtual RWCollectable*
remove(const RWCollectable*);
RWCollectable*
pop();
void
push(RWCollectable*);
RWCollectable*
top() const;