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

©Copyright 1996 Rogue Wave Software

RWSlistCollectablesQueue


RWSlistCollectablesQueueRWSlistCollectablesRWSequenceable ...
     ... RWCollectionRWCollectable

Synopsis

// Smalltalk typedef:
typedef RWSlistCollectablesQueue Queue ;
#include <rw/queuecol.h>
RWSlistCollectablesQueue a;

Description

Class RWSlistCollectablesQueue represents a restricted interface to class RWSlistCollectables to implement a first in first out (FIFO) queue. A queue is a sequential list for which all insertions are made at one end (the "tail"), but all removals are made at the other end (the "head"). Hence, the ordering is determined externally by the ordering of the insertions. Duplicates are allowed.

An object stored by RWSlistCollectablesQueue 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 queue.

This class corresponds to the Smalltalk class Queue.

Persistence

Polymorphic

Public Constructors

RWSlistCollectablesQueue();
RWSlistCollectablesQueue(RWCollectable* a);
RWSlistCollectablesQueue(const RWSlistCollectablesQueue & q);

Public Member Operators

void
operator=(const RWSlistCollectablesQueue & q);

Public Member Functions

virtual void
apply(RWapplyCollectable ap, void*);
virtual RWCollectable*
append(RWCollectable*);
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;
RWCollectable*
get();
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*);