home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v1.zip / IBMCPP / IBMCLASS / IPQUKSB.IF < prev    next >
Text File  |  1993-09-22  |  11KB  |  295 lines

  1. /*******************************************************************************
  2. *                                                                              *
  3. * COPYRIGHT:                                                                   *
  4. *   IBM C/C++ Tools Version 2.01 - Collection Class Library                    *
  5. *   Licensed Materials - Property of IBM                                       *
  6. *   (C) Copyright IBM Corporation 1992, 1993                                   *
  7. *   All Rights Reserved                                                        *
  8. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  9. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  10. *                                                                              *
  11. *******************************************************************************/
  12.  
  13. template < class Element, class Key, class ElementOps, class Base >
  14. inline IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  15. IWPQueOnKSBag (INumber n)
  16. : ivBase (n)
  17. {
  18. }
  19.  
  20. template < class Element, class Key, class ElementOps, class Base >
  21. inline IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  22. IWPQueOnKSBag (IWPQueOnKSBag < Element, Key, ElementOps, Base > const& collection)
  23. : ivBase (collection.ivBase)
  24. {
  25. }
  26.  
  27. template < class Element, class Key, class ElementOps, class Base >
  28. inline IWPQueOnKSBag < Element, Key, ElementOps, Base >& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  29. operator= (IWPQueOnKSBag < Element, Key, ElementOps, Base > const& collection)
  30. { ivBase.operator= (collection.ivBase);
  31.   return *this;
  32. }
  33.  
  34. template < class Element, class Key, class ElementOps, class Base >
  35. inline IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  36. ~IWPQueOnKSBag ()
  37. {
  38. }
  39.  
  40. template < class Element, class Key, class ElementOps, class Base >
  41. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  42. add (Element const& element)
  43. { return ivBase.add (element);
  44. }
  45.  
  46. template < class Element, class Key, class ElementOps, class Base >
  47. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  48. add (Element const& element, ICursor &cursor)
  49. { return ivBase.add (element, cursor);
  50. }
  51.  
  52. template < class Element, class Key, class ElementOps, class Base >
  53. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  54. addAllFrom (IWPQueOnKSBag < Element, Key, ElementOps, Base > const& collection)
  55. { ivBase.addAllFrom (collection.ivBase);
  56. }
  57.  
  58. template < class Element, class Key, class ElementOps, class Base >
  59. inline Element const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  60. elementAt (ICursor const& cursor) const
  61. { return ivBase.elementAt (cursor);
  62. }
  63.  
  64. template < class Element, class Key, class ElementOps, class Base >
  65. inline Element const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  66. anyElement () const
  67. { return ivBase.anyElement ();
  68. }
  69.  
  70. template < class Element, class Key, class ElementOps, class Base >
  71. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  72. removeAll ()
  73. { ivBase.removeAll ();
  74. }
  75.  
  76. template < class Element, class Key, class ElementOps, class Base >
  77. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  78. isBounded () const
  79. { return ivBase.isBounded ();
  80. }
  81.  
  82. template < class Element, class Key, class ElementOps, class Base >
  83. inline INumber IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  84. maxNumberOfElements () const
  85. { return ivBase.maxNumberOfElements ();
  86. }
  87.  
  88. template < class Element, class Key, class ElementOps, class Base >
  89. inline INumber IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  90. numberOfElements () const
  91. { return ivBase.numberOfElements ();
  92. }
  93.  
  94. template < class Element, class Key, class ElementOps, class Base >
  95. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  96. isEmpty () const
  97. { return ivBase.isEmpty ();
  98. }
  99.  
  100. template < class Element, class Key, class ElementOps, class Base >
  101. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  102. isFull () const
  103. { return ivBase.isFull ();
  104. }
  105.  
  106. template < class Element, class Key, class ElementOps, class Base >
  107. inline ICursor* IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  108. newCursor () const
  109. { return ivBase.newCursor ();
  110. }
  111.  
  112. template < class Element, class Key, class ElementOps, class Base >
  113. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  114. setToFirst (ICursor &cursor) const
  115. { return ivBase.setToFirst (cursor);
  116. }
  117.  
  118. template < class Element, class Key, class ElementOps, class Base >
  119. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  120. setToNext (ICursor &cursor) const
  121. { return ivBase.setToNext (cursor);
  122. }
  123.  
  124. template < class Element, class Key, class ElementOps, class Base >
  125. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  126. allElementsDo (IBoolean (*iterationFunction) (Element const&, void*),
  127.                void* environment) const
  128. { return ivBase.allElementsDo (iterationFunction, environment);
  129. }
  130.  
  131. template < class Element, class Key, class ElementOps, class Base >
  132. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  133. allElementsDo (IConstantIterator <Element>& iterator) const
  134. { return ivBase.allElementsDo (iterator);
  135. }
  136.  
  137. template < class Element, class Key, class ElementOps, class Base >
  138. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  139. isConsistent () const
  140. { return ivBase.isConsistent ();
  141. }
  142.  
  143. template < class Element, class Key, class ElementOps, class Base >
  144. inline Key const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  145. key (Element const& element) const
  146. { return ivBase.key (element);
  147. }
  148.  
  149. template < class Element, class Key, class ElementOps, class Base >
  150. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  151. containsElementWithKey (Key const& key) const
  152. { return ivBase.containsElementWithKey (key);
  153. }
  154.  
  155. template < class Element, class Key, class ElementOps, class Base >
  156. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  157. containsAllKeysFrom (IWPQueOnKSBag < Element, Key, ElementOps, Base > const& collection) const
  158. { return ivBase.containsAllKeysFrom (collection.ivBase);
  159. }
  160.  
  161. template < class Element, class Key, class ElementOps, class Base >
  162. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  163. locateElementWithKey (Key const& key, ICursor &cursor) const
  164. { return ivBase.locateElementWithKey (key, cursor);
  165. }
  166.  
  167. template < class Element, class Key, class ElementOps, class Base >
  168. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  169. locateOrAddElementWithKey (Element const& element)
  170. { return ivBase.locateOrAddElementWithKey (element);
  171. }
  172.  
  173. template < class Element, class Key, class ElementOps, class Base >
  174. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  175. locateOrAddElementWithKey (Element const& element, ICursor &cursor)
  176. { return ivBase.locateOrAddElementWithKey (element, cursor);
  177. }
  178.  
  179. template < class Element, class Key, class ElementOps, class Base >
  180. inline Element const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  181. elementWithKey (Key const& key) const
  182. { return ivBase.elementWithKey (key);
  183. }
  184.  
  185. template < class Element, class Key, class ElementOps, class Base >
  186. inline INumber IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  187. numberOfElementsWithKey (Key const& key) const
  188. { return ivBase.numberOfElementsWithKey (key);
  189. }
  190.  
  191. template < class Element, class Key, class ElementOps, class Base >
  192. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  193. locateNextElementWithKey (Key const& key, ICursor& cursor) const
  194. { return ivBase.locateNextElementWithKey (key, cursor);
  195. }
  196.  
  197. template < class Element, class Key, class ElementOps, class Base >
  198. inline INumber IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  199. numberOfDifferentKeys () const
  200. { return ivBase.numberOfDifferentKeys ();
  201. }
  202.  
  203. template < class Element, class Key, class ElementOps, class Base >
  204. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  205. setToNextWithDifferentKey (ICursor& cursor) const
  206. { return ivBase.setToNextWithDifferentKey (cursor);
  207. }
  208.  
  209. template < class Element, class Key, class ElementOps, class Base >
  210. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  211. removeFirst ()
  212. { ivBase.removeFirst ();
  213. }
  214.  
  215. template < class Element, class Key, class ElementOps, class Base >
  216. inline Element const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  217. firstElement () const
  218. { return ivBase.firstElement ();
  219. }
  220.  
  221. template < class Element, class Key, class ElementOps, class Base >
  222. inline Element const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  223. lastElement () const
  224. { return ivBase.lastElement ();
  225. }
  226.  
  227. template < class Element, class Key, class ElementOps, class Base >
  228. inline Element const& IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  229. elementAtPosition (IPosition position) const
  230. { return ivBase.elementAtPosition (position);
  231. }
  232.  
  233. template < class Element, class Key, class ElementOps, class Base >
  234. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  235. setToLast (ICursor &cursor) const
  236. { return ivBase.setToLast (cursor);
  237. }
  238.  
  239. template < class Element, class Key, class ElementOps, class Base >
  240. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  241. setToPrevious (ICursor &cursor) const
  242. { return ivBase.setToPrevious (cursor);
  243. }
  244.  
  245. template < class Element, class Key, class ElementOps, class Base >
  246. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  247. setToPosition (IPosition position, ICursor &cursor) const
  248. { ivBase.setToPosition (position, cursor);
  249. }
  250.  
  251. template < class Element, class Key, class ElementOps, class Base >
  252. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  253. isFirst (ICursor const& cursor) const
  254. { return ivBase.isFirst (cursor);
  255. }
  256.  
  257. template < class Element, class Key, class ElementOps, class Base >
  258. inline IBoolean IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  259. isLast (ICursor const& cursor) const
  260. { return ivBase.isLast (cursor);
  261. }
  262.  
  263. template < class Element, class Key, class ElementOps, class Base >
  264. inline long IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  265. compare (IWPQueOnKSBag < Element, Key, ElementOps, Base > const& collection,
  266.          long (*comparisonFunction) (Element const&, Element const&)) const
  267. { return ivBase.compare (collection.ivBase, comparisonFunction);
  268. }
  269.  
  270. template < class Element, class Key, class ElementOps, class Base >
  271. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  272. enqueue (Element const& element)
  273. { ivBase.add (element);
  274. }
  275.  
  276. template < class Element, class Key, class ElementOps, class Base >
  277. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  278. enqueue (Element const& element, ICursor& cursor)
  279. { ivBase.add (element, cursor);
  280. }
  281.  
  282. template < class Element, class Key, class ElementOps, class Base >
  283. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  284. dequeue ()
  285. { ivBase.removeFirst ();
  286. }
  287.  
  288. template < class Element, class Key, class ElementOps, class Base >
  289. inline void IWPQueOnKSBag < Element, Key, ElementOps, Base >::
  290. dequeue (Element& element)
  291. { element = ivBase.firstElement ();
  292.   ivBase.removeFirst ();
  293. }
  294.  
  295.