A key sorted set is an ordered collection of zero or more elements that have a key. Elements are sorted according to the value of their key field. Element equality is not supported. Only elements with unique keys are supported. A request to add an element whose key already exists is ignored.
You can construct and destruct objects of this class.
![]() |
public:
~IAKeySortedSet()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
public:
IAKeySortedSet(INotifier&)
Windows | OS/2 | AIX |
Yes | Yes | Yes |
protected:
IAKeySortedSet(IAKeySortedSet < Element, Key > const&)
Windows | OS/2 | AIX |
Yes | Yes | Yes |
protected:
IAKeySortedSet()
Windows | OS/2 | AIX |
Yes | Yes | Yes |
Compares two collections.
![]() |
public:
long compare( IAKeySortedSet < Element, Key > const&, long ( * comparisonFunction ) ( Element const & , Element const & ) ) const
Compares the collection with the given collection.
Comparison yields
<0 if the collection is less than the given collection,
0 if the collection is equal to the given collection, and
>0 if the collection is greater than the given collection.
Comparison is defined by the first pair of
corresponding elements, in both collections, that are not equal.
If such a pair exists, the collection with the greater element
is the greater one.
Otherwise, the collection with more elements
is the greater one.
Return Value
Returns the result of the collection comparison.
Note:
Windows | OS/2 | AIX |
Yes | Yes | Yes |
Use these members to perform miscellaneous functions.
![]() |
protected:
INumber numberOfDifferentKeys() const
Returns the number of different keys in the collection.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
INumber numberOfElementsWithKey(Key const&) const
Returns the number of elements in the collection with the given key.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
INumber removeAllElementsWithKey(Key const&)
Removes all elements from the collection with the same key as the given key. Element destructors are called as described in IACollection::removeAt.
Side Effects
If any elements were removed, all cursors of this collection become undefined.
Return Value
The number of elements removed.
Windows | OS/2 | AIX |
Yes | Yes | Yes |
![]() |
protected:
bool setToNextWithDifferentKey(ICursor&) const
Sets the cursor to the next element in the collection in iteration order with a key different from the key of the element pointed to by the given cursor. If no such element exists, the given cursor is no longer valid.
Preconditions
The cursor must belong to the collection and must point to an element of the collection.
Return Value
Returns true if a subsequent element was found whose key is different from the current key.
Exception
ICursorInvalidException
Windows | OS/2 | AIX |
Yes | Yes | Yes |
virtual ~IACollection()
virtual bool add(Element const&)
virtual bool add(Element const&, ICursor&)
virtual void addAllFrom(IACollection < Element > const&)
void adoptStreamer(IACollectionStreamer*)
bool allElementsDo(IConstantApplicator < Element >&) const
bool allElementsDo( bool ( * applicatorFunction ) ( Element&, void * ) , void* additionalArgument = 0 )
bool allElementsDo(IApplicator < Element >&)
bool allElementsDo( bool ( * applicatorFunction ) ( Element const&, void * ) , void* additionalArgument = 0 ) const
Element const& any() const
Element const& anyElement() const
virtual void copy(IACollection < Element > const&)
INotifier& disableNotification()
Element const& elementAt(ICursor const&) const
Element& elementAt(ICursor const&)
INotifier& enableNotification(bool = true)
IACollection(INotifier&)
bool isBounded() const
bool isConsistent() const
bool isEmpty() const
bool isEnabledForNotification() const
bool isFull() const
INumber maxNumberOfElements() const
virtual ICursor* newCursor() const
ICursor* newMngCursor() const
INotifier const& notifier() const
INotifier& notifier()
INotifier& notifyObservers(INotificationEvent const&)
INumber numberOfElements() const
virtual void operator <<=(IDataStream&)
virtual void operator >>=(IDataStream&)
operator INotifier &() const
virtual INumber removeAll( bool ( * predicateFunction ) ( Element const&, void * ) , void* additionalArgument = 0 )
virtual INumber removeAll()
virtual void removeAt(ICursor&)
virtual void replaceAt(ICursor const&, Element const&)
bool setToFirst(ICursor&) const
bool setToNext(ICursor&) const
~IAKeyCollection()
virtual bool addOrReplaceElementWithKey( Element const&, ICursor& )
virtual bool addOrReplaceElementWithKey(Element const&)
bool containsAllKeysFrom( IACollection < Element > const& ) const
bool containsElementWithKey(Key const&) const
Element& elementWithKey(Key const&)
Element const& elementWithKey(Key const&) const
IAKeyCollection(INotifier&)
Key const& key(Element const&) const
bool locateElementWithKey(Key const&, ICursor&) const
bool locateNextElementWithKey(Key const&, ICursor&) const
virtual bool locateOrAddElementWithKey(Element const&)
virtual bool locateOrAddElementWithKey( Element const&, ICursor& )
virtual INumber removeAllElementsWithKey(Key const&)
virtual bool removeElementWithKey(Key const&)
virtual bool replaceElementWithKey( Element const&, ICursor& )
virtual bool replaceElementWithKey(Element const&)
~IAKeySortedCollection()
IAKeySortedCollection(INotifier&)
IACollection(IACollection < Element > const&)
IACollection()
static Implementation& ImplOf( IACollection < Element > const& )
IAKeyCollection(IAKeyCollection < Element, Key > const&)
IAKeyCollection()
IAKeySortedCollection()
IAKeySortedCollection( IAKeySortedCollection < Element, Key > const& )