home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cset21v1.zip
/
IBMCPP
/
IBMCLASS
/
IRSRTMAP.C
< prev
next >
Wrap
Text File
|
1993-09-22
|
13KB
|
401 lines
/*******************************************************************************
* *
* COPYRIGHT: *
* IBM C/C++ Tools Version 2.01 - Collection Class Library *
* Licensed Materials - Property of IBM *
* (C) Copyright IBM Corporation 1992, 1993 *
* All Rights Reserved *
* US Government Users Restricted Rights - Use, duplication, or disclosure *
* restricted by GSA ADP Schedule Contract with IBM Corp. *
* *
*******************************************************************************/
template < class Element, class Key, class Base >
void* IRSortedMap < Element, Key, Base >::
identity () const
{ return (void*)&ivBase;
}
template < class Element, class Key, class Base >
IRSortedMap < Element, Key, Base >::
~IRSortedMap ()
{
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
add (Element const& element)
{ return ivBase.add (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
add (Element const& element, ICursor &cursor)
{ return ivBase.add (element, cursor);
}
template < class Element, class Key, class Base >
Element const& IRSortedMap < Element, Key, Base >::
elementAt (ICursor const& cursor) const
{ return ivBase.elementAt (cursor);
}
template < class Element, class Key, class Base >
Element& IRSortedMap < Element, Key, Base >::
elementAt (ICursor const& cursor)
{ return ivBase.elementAt (cursor);
}
template < class Element, class Key, class Base >
Element const& IRSortedMap < Element, Key, Base >::
anyElement () const
{ return ivBase.anyElement ();
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
removeAt (ICursor const& cursor)
{ ivBase.removeAt (cursor);
}
template < class Element, class Key, class Base >
INumber IRSortedMap < Element, Key, Base >::
removeAll (IBoolean (*predicate) (Element const&, void*), void* env)
{ return ivBase.removeAll (predicate, env);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
replaceAt (ICursor const& cursor, Element const& element)
{ ivBase.replaceAt (cursor, element);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
removeAll ()
{ ivBase.removeAll ();
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
isBounded () const
{ return ivBase.isBounded ();
}
template < class Element, class Key, class Base >
INumber IRSortedMap < Element, Key, Base >::
maxNumberOfElements () const
{ return ivBase.maxNumberOfElements ();
}
template < class Element, class Key, class Base >
INumber IRSortedMap < Element, Key, Base >::
numberOfElements () const
{ return ivBase.numberOfElements ();
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
isEmpty () const
{ return ivBase.isEmpty ();
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
isFull () const
{ return ivBase.isFull ();
}
template < class Element, class Key, class Base >
ICursor* IRSortedMap < Element, Key, Base >::
newCursor () const
{ return ivBase.newCursor ();
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
setToFirst (ICursor &cursor) const
{ return ivBase.setToFirst (cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
setToNext (ICursor &cursor) const
{ return ivBase.setToNext (cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
allElementsDo (IBoolean (*iterationFunction) (Element &, void*),
void* environment)
{ return ivBase.allElementsDo (iterationFunction, environment);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
allElementsDo (IIterator <Element>& iterator)
{ return ivBase.allElementsDo (iterator);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
allElementsDo (IBoolean (*iterationFunction) (Element const&, void*),
void* environment) const
{ return ivBase.allElementsDo (iterationFunction, environment);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
allElementsDo (IConstantIterator <Element>& iterator) const
{ return ivBase.allElementsDo (iterator);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
isConsistent () const
{ return ivBase.isConsistent ();
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
contains (Element const& element) const
{ return ivBase.contains (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
locate (Element const& element, ICursor &cursor) const
{ return ivBase.locate (element, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
locateOrAdd (Element const& element)
{ return ivBase.locateOrAdd (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
locateOrAdd (Element const& element, ICursor &cursor)
{ return ivBase.locateOrAdd (element, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
remove (Element const& element)
{ return ivBase.remove (element);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
unionWith (IASortedMap < Element, Key > const& collection)
{ if (isIdentical (collection))
ivBase.unionWith (ivBase);
else
addAllFrom (collection);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
intersectionWith (IASortedMap < Element, Key > const& collection)
{ if (! isIdentical (collection))
{ IAEqualityCollection < Element > const* env = &collection;
removeAll (IAEqualityCollection < Element >::isNotContained, &env);
}
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
differenceWith (IASortedMap < Element, Key > const& collection)
{ if (! isIdentical (collection))
{ ICursor *cursor = collection.newCursor ();
forCursor (*cursor)
remove (collection.elementAt (*cursor));
delete cursor;
}
else
removeAll ();
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
addUnion (IASortedMap < Element, Key > const& collection1,
IASortedMap < Element, Key > const& collection2)
{ unionWith (collection1);
unionWith (collection2);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
addIntersection (IASortedMap < Element, Key > const& collection1,
IASortedMap < Element, Key > const& collection2)
{ if (isIdentical (collection1) || isIdentical (collection2))
return;
else {
ICursor *cursor1 = collection1.newCursor ();
forCursor (*cursor1) {
if (collection2.contains (collection1.elementAt (*cursor1)))
add (collection1.elementAt (*cursor1));
}
delete cursor1;
}
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
addDifference (IASortedMap < Element, Key > const& collection1,
IASortedMap < Element, Key > const& collection2)
{ if (isIdentical (collection1))
return;
else if (isIdentical (collection2))
unionWith (collection1);
else {
ICursor *cursor1 = collection1.newCursor ();
forCursor (*cursor1) {
if (! collection2.contains (collection1.elementAt (*cursor1)))
add (collection1.elementAt (*cursor1));
}
delete cursor1;
}
}
template < class Element, class Key, class Base >
Key const& IRSortedMap < Element, Key, Base >::
key (Element const& element) const
{ return ivBase.key (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
containsElementWithKey (Key const& key) const
{ return ivBase.containsElementWithKey (key);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
locateElementWithKey (Key const& key, ICursor &cursor) const
{ return ivBase.locateElementWithKey (key, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
replaceElementWithKey (Element const& element)
{ return ivBase.replaceElementWithKey (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
replaceElementWithKey (Element const& element, ICursor &cursor)
{ return ivBase.replaceElementWithKey (element, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
locateOrAddElementWithKey (Element const& element)
{ return ivBase.locateOrAddElementWithKey (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
locateOrAddElementWithKey (Element const& element, ICursor &cursor)
{ return ivBase.locateOrAddElementWithKey (element, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
addOrReplaceElementWithKey (Element const& element)
{ return ivBase.addOrReplaceElementWithKey (element);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
addOrReplaceElementWithKey (Element const& element, ICursor &cursor)
{ return ivBase.addOrReplaceElementWithKey (element, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
removeElementWithKey (Key const& key)
{ return ivBase.removeElementWithKey (key);
}
template < class Element, class Key, class Base >
Element const& IRSortedMap < Element, Key, Base >::
elementWithKey (Key const& key) const
{ return ivBase.elementWithKey (key);
}
template < class Element, class Key, class Base >
Element& IRSortedMap < Element, Key, Base >::
elementWithKey (Key const& key)
{ return ivBase.elementWithKey (key);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
removeFirst ()
{ ivBase.removeFirst ();
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
removeLast ()
{ ivBase.removeLast ();
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
removeAtPosition (IPosition position)
{ ivBase.removeAtPosition (position);
}
template < class Element, class Key, class Base >
Element const& IRSortedMap < Element, Key, Base >::
firstElement () const
{ return ivBase.firstElement ();
}
template < class Element, class Key, class Base >
Element const& IRSortedMap < Element, Key, Base >::
lastElement () const
{ return ivBase.lastElement ();
}
template < class Element, class Key, class Base >
Element const& IRSortedMap < Element, Key, Base >::
elementAtPosition (IPosition position) const
{ return ivBase.elementAtPosition (position);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
setToLast (ICursor &cursor) const
{ return ivBase.setToLast (cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
setToPrevious (ICursor &cursor) const
{ return ivBase.setToPrevious (cursor);
}
template < class Element, class Key, class Base >
void IRSortedMap < Element, Key, Base >::
setToPosition (IPosition position, ICursor &cursor) const
{ ivBase.setToPosition (position, cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
isFirst (ICursor const& cursor) const
{ return ivBase.isFirst (cursor);
}
template < class Element, class Key, class Base >
IBoolean IRSortedMap < Element, Key, Base >::
isLast (ICursor const& cursor) const
{ return ivBase.isLast (cursor);
}