RWDlistCollectablesRWSequenceableRWCollectionRWCollectable
#include <rw/dlistcol.h> RWDlistCollectables a;
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.
Polymorphic
RWDlistCollectables();
Constructs an empty doubly-linked list.
RWDlistCollectables (RWCollectable* a);
Constructs a linked list with a single item a.
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.
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.
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;
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.
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).
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.