RWDlistCollectables(3C++) RWDlistCollectables(3C++)
NameRWDlistCollectables - Rogue Wave library class
Synopsis
#include <rw/dlistcol.h>
RWDlistCollectables a;
Description
Class RWDlistCollectables represents a group of ordered items, not
accessible by an external key. Duplicates are allowed. The ordering of
elements is determined externally, generally by the order of insertion
and removal. An object stored by RWDlistCollectables must inherit
abstract base class RWCollectable. Class RWDlistCollectables is
implemented as a doubly-linked list, which allows for efficient insertion
and removal, as well as for movement in either direction.
Persistence
Polymorphic
Public ConstructorsRWDlistCollectables();
Constructs an empty doubly-linked list.
RWDlistCollectables (RWCollectable* a);
Constructs a linked list with a single item a.
Public Member Operators
RWBoolean
operator==(const RWDlistCollectables& d) const;
Returns TRUE if self and d have the same number of items and if for every
item in self, the corresponding item in the same position in d isEqual to
it.
Public Member Functions
virtual Collectable*
append(RWCollectable*);
Redefined from RWSequenceable. Inserts the item at the end of the
collection and returns it. Returns nil if the insertion was unsuccesful.
Page 1
RWDlistCollectables(3C++) RWDlistCollectables(3C++)
virtual void
apply(RWapplyCollectable ap, void*);
Redefined from class RWCollection to apply the user-supplied function
pointed to by ap to each member of the collection, in order, from first
to last.
virtual RWCollectable*&
at(size_t i);
virtual const RWCollectable*
at(size_t i) const;
Redefined from class RWSequenceable. The index must be between zero and
the number of items in the collection less one, or an exception of type
RWBoundsErr will occur. Note that for a linked list, these functions
must traverse all the links, making them not particularly efficient.
virtual RWspace
binaryStoreSize() const;
Inherited from class RWCollection.
virtual void
clear();
Redefined from class RWCollection.
virtual void
clearAndDestroy();
Inherited from class RWCollection.
virtual int
compareTo(const RWCollectable* a) const;
Inherited from class RWCollectable.
virtual RWBoolean
contains(const RWCollectable* target) const;
Inherited from class RWCollection.
RWBoolean
containsReference(const RWCollectable* e) const;
Page 2
RWDlistCollectables(3C++) RWDlistCollectables(3C++)
Returns true if the list contains an item that is identical to the item
pointed to by e (that is, that has the address e).
virtual size_t
entries() const;
Redefined from class RWCollection.
virtual RWCollectable*
find(const RWCollectable* target) const;
Redefined from class RWCollection. The first item that isEqual to the
item pointed to by target is returned, or nil if no item is found.
RWCollectable*
findReference(const RWCollectable* e) const;
Returns the first item that is identical to the item pointed to by e
(that is, that has the address e), or nil if none is found.
virtual RWCollectable*
first() const;
Redefined from class RWSequenceable. Returns the item at the beginning
of the list.
RWCollectable*
get();
Returns and removes the item at the beginning of the list.
virtual unsigned
hash() const;
Inherited from class RWCollectable.
virtual size_t
index(const RWCollectable* c) const;
Redefined from class RWSequenceable. Returns the index of the first item
that isEqual to the item pointed to by c, or RW_NPOS if there is no such
index.
Page 3
RWDlistCollectables(3C++) RWDlistCollectables(3C++)
virtual RWCollectable*
insert(RWCollectable* c);
Redefined from class RWCollection. Adds the item to the end of the
collection and returns it. Returns nil if the insertion was
unsuccessful.
void
insertAt(size_t indx, RWCollectable* e);
Redefined from class RWSequenceable. Adds a new item to the collection
at position indx. The item previously at position i is moved to i+1,
etc. The index indx must be between 0 and the number of items in the
collection, or an exception of type RWBoundsErr will occur.
virtual RWClassID
isA() const;
Redefined from class RWCollectable to return __RWDLISTCOLLECTABLES.
virtual RWBoolean
isEmpty() const;
Redefined from class RWCollection.
virtual RWCollectable*
last() const;
Redefined from class RWSequenceable. Returns the item at the end of the
list.
virtual size_t
occurrencesOf(const RWCollectable* target) const;
Redefined from class RWCollection. Returns the number of items that
isEqual to the item pointed to by target.
size_t
occurrencesOfReference(const RWCollectable* e) const;
Returns the number of items that are identical to the item pointed to by
e (that is, that have the address e).
Page 4
RWDlistCollectables(3C++) RWDlistCollectables(3C++)
virtual RWCollectable*
prepend(RWCollectable*);
Redefined from class RWSequenceable. Adds the item to the beginning of
the collection and returns it. Returns nil if the insertion was
unsuccessful.
virtual RWCollectable*
remove(const RWCollectable* target);
Redefined from class RWCollection. Removes and returns the first item
that isEqual to the item pointed to by target. Returns nil if there is
no such item.
virtual void
removeAndDestroy(const RWCollectable* target);
Inherited from class RWCollection.
RWCollectable*
removeReference(const RWCollectable* e);
Removes and returns the first item that is identical to the item pointed
to by e (that is, that has the address e). Returns nil if there is no
such item.
virtual void
restoreGuts(RWvistream&);
virtual void
restoreGuts(RWFile&);
virtual void
saveGuts(RWvostream&) const;
virtual void
saveGuts(RWFile&) const;
Inherited from class RWCollection.
RWStringID
stringID();
(acts virtual) Inherited from class RWCollectable.
Page 5