home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / tpq.xh < prev    next >
Text File  |  1999-02-22  |  40KB  |  1,222 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tpq.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somuc
  12.  * 
  13.  *    ORIGINS: 82, 81, 27
  14.  * 
  15.  * 
  16.  *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,1996
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  *    Copyright ⌐ 1988, 1989 Apple Computer, Inc. All rights reserved.
  23.  * 
  24.  * CLASS_NAME: somf_TPriorityQueue
  25.  * 
  26.  * DESCRIPTION: A TPriorityQueue is a subclass of TCollection which keeps
  27.  *              the elements of the collection partially ordered based on
  28.  *              some ordering function.  Priority Queues are often used
  29.  *              when you must collect a set of records, then process the
  30.  *              largest, then collect more, the process the largest, etc.
  31.  * 
  32.  */
  33.  
  34.  
  35. #ifndef SOM_somf_TPriorityQueue_xh
  36. #define SOM_somf_TPriorityQueue_xh
  37.  
  38. class somf_TPriorityQueue;
  39.  
  40. #define somf_TPriorityQueue_MajorVersion 2
  41. #define somf_TPriorityQueue_MinorVersion 1
  42.  
  43. /* C++ SOM defs */
  44. #include <somcls.xh>
  45. #include <somcm.xh>
  46.  
  47. /* C++ parent defs */
  48. #ifndef SOM_somf_TCollection_xh
  49. #include <tcollect.xh>
  50. #endif
  51.  
  52. #ifndef somf_TPriorityQueue_API
  53. #define somf_TPriorityQueue_API
  54. /*
  55.  * -- The Class API
  56.  */
  57.  
  58. /*
  59.  * Start of bindings for IDL types
  60.  */
  61.  
  62. class SOMClass;
  63. class SOMObject;
  64. class somf_TIterator;
  65. #define somf_TPriorityQueue_kInitialPriorityQueueSize 20 /* 20 */
  66.  
  67. #ifndef SOM_DONT_USE_SHORT_NAMES
  68. #ifndef SOMTGD_kInitialPriorityQueueSize
  69.     #ifdef kInitialPriorityQueueSize
  70.         #undef kInitialPriorityQueueSize
  71.         #define SOMTGD_kInitialPriorityQueueSize 1
  72.     #else
  73.         #define kInitialPriorityQueueSize somf_TPriorityQueue_kInitialPriorityQueueSize
  74.     #endif /* kInitialPriorityQueueSize */
  75. #endif /* SOMTGD_kInitialPriorityQueueSize */
  76. #endif /* SOM_DONT_USE_SHORT_NAMES */
  77.  
  78. /*
  79.  * End of bindings for IDL types.
  80.  */
  81.  
  82. /*
  83.  * Passthru lines: File: "C.xh", "after"
  84.  */
  85.  
  86. #include <morder.xh>
  87.  
  88. /* A procedure to create the somf_TPriorityQueue Class */
  89. SOMEXTERN SOMClass * SOMLINK somf_TPriorityQueueNewClass(
  90.         integer4 majorVersion,
  91.         integer4 minorVersion);
  92.  
  93. /* The API to the somf_TPriorityQueue class object, and the methods it introduces. */
  94. SOMEXTERN struct somf_TPriorityQueueClassDataStructure {
  95.     SOMClass *classObject;
  96.     somMToken somfInsert;
  97.     somMToken somfPop;
  98.     somMToken somfPeek;
  99.     somMToken somfReplace;
  100.     somMToken somfChange;
  101.     somMToken somfSetEqualityComparisonFunction;
  102.     somMToken somfGetEqualityComparisonFunction;
  103.     somMToken somfDownHeap;
  104.     somMToken somfUpHeap;
  105.     somMToken somfGrowHeap;
  106.     somMToken somfMakeNewTable;
  107.     somMToken somfCopyIn;
  108.     somMToken somfAssign;
  109.     somMToken somfTPriorityQueueInitF;
  110.     somMToken somfTPriorityQueueInitP;
  111. } SOMDLINK somf_TPriorityQueueClassData;
  112. #define _somf_TPriorityQueue somf_TPriorityQueueClassData.classObject
  113.  
  114. /* The API to parentMtabs for somf_TPriorityQueue, and the instance data it introduces. */
  115. SOMEXTERN struct somf_TPriorityQueueCClassDataStructure {
  116.     somMethodTabs parentMtab;
  117.     somDToken              instanceDataToken;
  118. } SOMDLINK somf_TPriorityQueueCClassData;
  119.  
  120. /*
  121.  * -- Typedefs for somf_TPriorityQueue Method Procedures
  122.  */
  123. SOMEXTERN {
  124. typedef somf_TPriorityQueue*   SOMLINK somTP_somf_TPriorityQueue_somfTPriorityQueueInitF(somf_TPriorityQueue *somSelf, Environment *ev, 
  125.         somf_MOrderableCollectible_somf_MOrderableCompareFn testfn);
  126. typedef somTP_somf_TPriorityQueue_somfTPriorityQueueInitF *somTD_somf_TPriorityQueue_somfTPriorityQueueInitF;
  127. typedef somf_TPriorityQueue*   SOMLINK somTP_somf_TPriorityQueue_somfTPriorityQueueInitP(somf_TPriorityQueue *somSelf, Environment *ev, 
  128.         somf_TPriorityQueue* q);
  129. typedef somTP_somf_TPriorityQueue_somfTPriorityQueueInitP *somTD_somf_TPriorityQueue_somfTPriorityQueueInitP;
  130. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfAssign(somf_TPriorityQueue *somSelf, Environment *ev, 
  131.         somf_TPriorityQueue* source);
  132. typedef somTP_somf_TPriorityQueue_somfAssign *somTD_somf_TPriorityQueue_somfAssign;
  133. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfInsert(somf_TPriorityQueue *somSelf, Environment *ev, 
  134.         somf_MOrderableCollectible* obj);
  135. typedef somTP_somf_TPriorityQueue_somfInsert *somTD_somf_TPriorityQueue_somfInsert;
  136. typedef somf_MOrderableCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfPop(somf_TPriorityQueue *somSelf, Environment *ev);
  137. typedef somTP_somf_TPriorityQueue_somfPop *somTD_somf_TPriorityQueue_somfPop;
  138. typedef somf_MOrderableCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfPeek(somf_TPriorityQueue *somSelf, Environment *ev);
  139. typedef somTP_somf_TPriorityQueue_somfPeek *somTD_somf_TPriorityQueue_somfPeek;
  140. typedef somf_MOrderableCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfReplace(somf_TPriorityQueue *somSelf, Environment *ev, 
  141.         somf_MOrderableCollectible* obj);
  142. typedef somTP_somf_TPriorityQueue_somfReplace *somTD_somf_TPriorityQueue_somfReplace;
  143. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfChange(somf_TPriorityQueue *somSelf, Environment *ev, 
  144.         somf_MOrderableCollectible* obj);
  145. typedef somTP_somf_TPriorityQueue_somfChange *somTD_somf_TPriorityQueue_somfChange;
  146. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfSetEqualityComparisonFunction(somf_TPriorityQueue *somSelf, Environment *ev, 
  147.         somf_MCollectible_somf_MCollectibleCompareFn fn);
  148. typedef somTP_somf_TPriorityQueue_somfSetEqualityComparisonFunction *somTD_somf_TPriorityQueue_somfSetEqualityComparisonFunction;
  149. typedef somf_MCollectible_somf_MCollectibleCompareFn   SOMLINK somTP_somf_TPriorityQueue_somfGetEqualityComparisonFunction(somf_TPriorityQueue *somSelf, Environment *ev);
  150. typedef somTP_somf_TPriorityQueue_somfGetEqualityComparisonFunction *somTD_somf_TPriorityQueue_somfGetEqualityComparisonFunction;
  151.  
  152. /*
  153.  * -- Typedefs for Reintroduced Wrapper Methods
  154.  */
  155. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfAdd(somf_TPriorityQueue *somSelf, Environment *ev, 
  156.         somf_MCollectible* obj);
  157. typedef somTP_somf_TPriorityQueue_somfAdd *somTD_somf_TPriorityQueue_somfAdd;
  158. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfAddAll(somf_TPriorityQueue *somSelf, Environment *ev, 
  159.         somf_TCollection* col);
  160. typedef somTP_somf_TPriorityQueue_somfAddAll *somTD_somf_TPriorityQueue_somfAddAll;
  161. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfRemove(somf_TPriorityQueue *somSelf, Environment *ev, 
  162.         somf_MCollectible* obj);
  163. typedef somTP_somf_TPriorityQueue_somfRemove *somTD_somf_TPriorityQueue_somfRemove;
  164. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfRemoveAll(somf_TPriorityQueue *somSelf, Environment *ev);
  165. typedef somTP_somf_TPriorityQueue_somfRemoveAll *somTD_somf_TPriorityQueue_somfRemoveAll;
  166. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfDeleteAll(somf_TPriorityQueue *somSelf, Environment *ev);
  167. typedef somTP_somf_TPriorityQueue_somfDeleteAll *somTD_somf_TPriorityQueue_somfDeleteAll;
  168. typedef long   SOMLINK somTP_somf_TPriorityQueue_somfCount(somf_TPriorityQueue *somSelf, Environment *ev);
  169. typedef somTP_somf_TPriorityQueue_somfCount *somTD_somf_TPriorityQueue_somfCount;
  170. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfMember(somf_TPriorityQueue *somSelf, Environment *ev, 
  171.         somf_MCollectible* obj);
  172. typedef somTP_somf_TPriorityQueue_somfMember *somTD_somf_TPriorityQueue_somfMember;
  173. typedef somf_TIterator*   SOMLINK somTP_somf_TPriorityQueue_somfCreateIterator(somf_TPriorityQueue *somSelf, Environment *ev);
  174. typedef somTP_somf_TPriorityQueue_somfCreateIterator *somTD_somf_TPriorityQueue_somfCreateIterator;
  175. typedef somf_MCollectible_somf_MCollectibleCompareFn   SOMLINK somTP_somf_TPriorityQueue_somfTestFunction(somf_TPriorityQueue *somSelf, Environment *ev);
  176. typedef somTP_somf_TPriorityQueue_somfTestFunction *somTD_somf_TPriorityQueue_somfTestFunction;
  177. typedef void   SOMLINK somTP_somf_TPriorityQueue_somfSetTestFunction(somf_TPriorityQueue *somSelf, Environment *ev, 
  178.         somf_MCollectible_somf_MCollectibleCompareFn testfn);
  179. typedef somTP_somf_TPriorityQueue_somfSetTestFunction *somTD_somf_TPriorityQueue_somfSetTestFunction;
  180. typedef somf_TCollection*   SOMLINK somTP_somf_TPriorityQueue_somfTCollectionInit(somf_TPriorityQueue *somSelf, Environment *ev, 
  181.         somf_MCollectible_somf_MCollectibleCompareFn testfn);
  182. typedef somTP_somf_TPriorityQueue_somfTCollectionInit *somTD_somf_TPriorityQueue_somfTCollectionInit;
  183. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somfIsEqual(somf_TPriorityQueue *somSelf, Environment *ev, 
  184.         somf_MCollectible* obj);
  185. typedef somTP_somf_TPriorityQueue_somfIsEqual *somTD_somf_TPriorityQueue_somfIsEqual;
  186. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfClone(somf_TPriorityQueue *somSelf, Environment *ev);
  187. typedef somTP_somf_TPriorityQueue_somfClone *somTD_somf_TPriorityQueue_somfClone;
  188. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueue_somfClonePointer(somf_TPriorityQueue *somSelf, Environment *ev, 
  189.         somf_MCollectible* clonee);
  190. typedef somTP_somf_TPriorityQueue_somfClonePointer *somTD_somf_TPriorityQueue_somfClonePointer;
  191. typedef long   SOMLINK somTP_somf_TPriorityQueue_somfHash(somf_TPriorityQueue *somSelf, Environment *ev);
  192. typedef somTP_somf_TPriorityQueue_somfHash *somTD_somf_TPriorityQueue_somfHash;
  193. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somfIsSame(somf_TPriorityQueue *somSelf, Environment *ev, 
  194.         somf_MCollectible* obj);
  195. typedef somTP_somf_TPriorityQueue_somfIsSame *somTD_somf_TPriorityQueue_somfIsSame;
  196. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somfIsNotEqual(somf_TPriorityQueue *somSelf, Environment *ev, 
  197.         somf_MCollectible* obj);
  198. typedef somTP_somf_TPriorityQueue_somfIsNotEqual *somTD_somf_TPriorityQueue_somfIsNotEqual;
  199. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDefaultInit(somf_TPriorityQueue *somSelf, 
  200.         som3InitCtrl* ctrl);
  201. typedef somTP_somf_TPriorityQueue_somDefaultInit *somTD_somf_TPriorityQueue_somDefaultInit;
  202. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDestruct(somf_TPriorityQueue *somSelf, 
  203.         octet doFree, 
  204.         som3DestructCtrl* ctrl);
  205. typedef somTP_somf_TPriorityQueue_somDestruct *somTD_somf_TPriorityQueue_somDestruct;
  206. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDefaultCopyInit(somf_TPriorityQueue *somSelf, 
  207.         som3InitCtrl* ctrl, 
  208.         SOMObject* fromObj);
  209. typedef somTP_somf_TPriorityQueue_somDefaultCopyInit *somTD_somf_TPriorityQueue_somDefaultCopyInit;
  210. typedef somf_TPriorityQueue*   SOMLINK somTP_somf_TPriorityQueue_somDefaultAssign(somf_TPriorityQueue *somSelf, 
  211.         som3AssignCtrl* ctrl, 
  212.         SOMObject* fromObj);
  213. typedef somTP_somf_TPriorityQueue_somDefaultAssign *somTD_somf_TPriorityQueue_somDefaultAssign;
  214. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDefaultConstCopyInit(somf_TPriorityQueue *somSelf, 
  215.         som3InitCtrl* ctrl, 
  216.         SOMObject* fromObj);
  217. typedef somTP_somf_TPriorityQueue_somDefaultConstCopyInit *somTD_somf_TPriorityQueue_somDefaultConstCopyInit;
  218. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDefaultVCopyInit(somf_TPriorityQueue *somSelf, 
  219.         som3InitCtrl* ctrl, 
  220.         SOMObject* fromObj);
  221. typedef somTP_somf_TPriorityQueue_somDefaultVCopyInit *somTD_somf_TPriorityQueue_somDefaultVCopyInit;
  222. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDefaultConstVCopyInit(somf_TPriorityQueue *somSelf, 
  223.         som3InitCtrl* ctrl, 
  224.         SOMObject* fromObj);
  225. typedef somTP_somf_TPriorityQueue_somDefaultConstVCopyInit *somTD_somf_TPriorityQueue_somDefaultConstVCopyInit;
  226. typedef somf_TPriorityQueue*   SOMLINK somTP_somf_TPriorityQueue_somDefaultConstAssign(somf_TPriorityQueue *somSelf, 
  227.         som3AssignCtrl* ctrl, 
  228.         SOMObject* fromObj);
  229. typedef somTP_somf_TPriorityQueue_somDefaultConstAssign *somTD_somf_TPriorityQueue_somDefaultConstAssign;
  230. typedef somf_TPriorityQueue*   SOMLINK somTP_somf_TPriorityQueue_somDefaultVAssign(somf_TPriorityQueue *somSelf, 
  231.         som3AssignCtrl* ctrl, 
  232.         SOMObject* fromObj);
  233. typedef somTP_somf_TPriorityQueue_somDefaultVAssign *somTD_somf_TPriorityQueue_somDefaultVAssign;
  234. typedef somf_TPriorityQueue*   SOMLINK somTP_somf_TPriorityQueue_somDefaultConstVAssign(somf_TPriorityQueue *somSelf, 
  235.         som3AssignCtrl* ctrl, 
  236.         SOMObject* fromObj);
  237. typedef somTP_somf_TPriorityQueue_somDefaultConstVAssign *somTD_somf_TPriorityQueue_somDefaultConstVAssign;
  238. typedef void   SOMLINK somTP_somf_TPriorityQueue_somInit(somf_TPriorityQueue *somSelf);
  239. typedef somTP_somf_TPriorityQueue_somInit *somTD_somf_TPriorityQueue_somInit;
  240. typedef void   SOMLINK somTP_somf_TPriorityQueue_somFree(somf_TPriorityQueue *somSelf);
  241. typedef somTP_somf_TPriorityQueue_somFree *somTD_somf_TPriorityQueue_somFree;
  242. typedef void   SOMLINK somTP_somf_TPriorityQueue_somUninit(somf_TPriorityQueue *somSelf);
  243. typedef somTP_somf_TPriorityQueue_somUninit *somTD_somf_TPriorityQueue_somUninit;
  244. typedef SOMClass*   SOMLINK somTP_somf_TPriorityQueue_somGetClass(somf_TPriorityQueue *somSelf);
  245. typedef somTP_somf_TPriorityQueue_somGetClass *somTD_somf_TPriorityQueue_somGetClass;
  246. typedef string   SOMLINK somTP_somf_TPriorityQueue_somGetClassName(somf_TPriorityQueue *somSelf);
  247. typedef somTP_somf_TPriorityQueue_somGetClassName *somTD_somf_TPriorityQueue_somGetClassName;
  248. typedef long   SOMLINK somTP_somf_TPriorityQueue_somGetSize(somf_TPriorityQueue *somSelf);
  249. typedef somTP_somf_TPriorityQueue_somGetSize *somTD_somf_TPriorityQueue_somGetSize;
  250. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somIsA(somf_TPriorityQueue *somSelf, 
  251.         SOMClass* aClassObj);
  252. typedef somTP_somf_TPriorityQueue_somIsA *somTD_somf_TPriorityQueue_somIsA;
  253. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somIsInstanceOf(somf_TPriorityQueue *somSelf, 
  254.         SOMClass* aClassObj);
  255. typedef somTP_somf_TPriorityQueue_somIsInstanceOf *somTD_somf_TPriorityQueue_somIsInstanceOf;
  256. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somRespondsTo(somf_TPriorityQueue *somSelf, 
  257.         somId mId);
  258. typedef somTP_somf_TPriorityQueue_somRespondsTo *somTD_somf_TPriorityQueue_somRespondsTo;
  259. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somDispatch(somf_TPriorityQueue *somSelf, 
  260.         somToken* retValue, 
  261.         somId methodId, 
  262.         va_list ap);
  263. typedef somTP_somf_TPriorityQueue_somDispatch *somTD_somf_TPriorityQueue_somDispatch;
  264. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somClassDispatch(somf_TPriorityQueue *somSelf, 
  265.         SOMClass* clsObj, 
  266.         somToken* retValue, 
  267.         somId methodId, 
  268.         va_list ap);
  269. typedef somTP_somf_TPriorityQueue_somClassDispatch *somTD_somf_TPriorityQueue_somClassDispatch;
  270. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somCastObj(somf_TPriorityQueue *somSelf, 
  271.         SOMClass* cls);
  272. typedef somTP_somf_TPriorityQueue_somCastObj *somTD_somf_TPriorityQueue_somCastObj;
  273. typedef boolean   SOMLINK somTP_somf_TPriorityQueue_somResetObj(somf_TPriorityQueue *somSelf);
  274. typedef somTP_somf_TPriorityQueue_somResetObj *somTD_somf_TPriorityQueue_somResetObj;
  275. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDispatchV(somf_TPriorityQueue *somSelf, 
  276.         somId methodId, 
  277.         somId descriptor, 
  278.         va_list ap);
  279. typedef somTP_somf_TPriorityQueue_somDispatchV *somTD_somf_TPriorityQueue_somDispatchV;
  280. typedef long   SOMLINK somTP_somf_TPriorityQueue_somDispatchL(somf_TPriorityQueue *somSelf, 
  281.         somId methodId, 
  282.         somId descriptor, 
  283.         va_list ap);
  284. typedef somTP_somf_TPriorityQueue_somDispatchL *somTD_somf_TPriorityQueue_somDispatchL;
  285. typedef void*   SOMLINK somTP_somf_TPriorityQueue_somDispatchA(somf_TPriorityQueue *somSelf, 
  286.         somId methodId, 
  287.         somId descriptor, 
  288.         va_list ap);
  289. typedef somTP_somf_TPriorityQueue_somDispatchA *somTD_somf_TPriorityQueue_somDispatchA;
  290. typedef double   SOMLINK somTP_somf_TPriorityQueue_somDispatchD(somf_TPriorityQueue *somSelf, 
  291.         somId methodId, 
  292.         somId descriptor, 
  293.         va_list ap);
  294. typedef somTP_somf_TPriorityQueue_somDispatchD *somTD_somf_TPriorityQueue_somDispatchD;
  295. typedef SOMObject*   SOMLINK somTP_somf_TPriorityQueue_somPrintSelf(somf_TPriorityQueue *somSelf);
  296. typedef somTP_somf_TPriorityQueue_somPrintSelf *somTD_somf_TPriorityQueue_somPrintSelf;
  297. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDumpSelf(somf_TPriorityQueue *somSelf, 
  298.         long level);
  299. typedef somTP_somf_TPriorityQueue_somDumpSelf *somTD_somf_TPriorityQueue_somDumpSelf;
  300. typedef void   SOMLINK somTP_somf_TPriorityQueue_somDumpSelfInt(somf_TPriorityQueue *somSelf, 
  301.         long level);
  302. typedef somTP_somf_TPriorityQueue_somDumpSelfInt *somTD_somf_TPriorityQueue_somDumpSelfInt;
  303. }
  304.  
  305. #endif /* somf_TPriorityQueue_API */
  306.  
  307.  
  308. /*
  309.  * -- This emitter treats Method Tokens as Thunks by default.
  310.  * -- Use the sc modifier "nothunks" to change this default
  311.  */
  312. #undef somresolve_
  313. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  314.  
  315. /*
  316.  * -- The C++ Wrapper Class for somf_TPriorityQueue
  317.  */
  318. class somf_TPriorityQueue : public somf_TCollection
  319. {
  320. public:
  321.  
  322. // somf_TPriorityQueue::new creates the class object if necessary, and then uses somNewNoInit
  323. // to allocate memory and create the object. Initialization is in ctors.
  324. void *operator new(size_t)
  325. {
  326.    if (!_somf_TPriorityQueue) somf_TPriorityQueueNewClass(somf_TPriorityQueue_MajorVersion,somf_TPriorityQueue_MinorVersion);
  327.    return (void*)
  328.       SOM_Resolve(_somf_TPriorityQueue,SOMClass,somNewNoInit)
  329.          ((SOMClass *)((void*)_somf_TPriorityQueue));
  330. }
  331.  
  332. // somf_TPriorityQueue::delete uses somDestruct.
  333. void operator delete(void * obj)
  334. {
  335.    if (obj && *(void**)obj) {
  336.       SOM_Resolve(obj,SOMObject,somFree)
  337.          ((SOMObject*)obj);
  338.    }
  339. }
  340.  
  341. somf_TPriorityQueue& operator=(somf_TPriorityQueue& fromObj)
  342. {
  343.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  344.    return *this;
  345. }
  346.  
  347. somf_TPriorityQueue()
  348. {
  349.    if (*(void**)this != 
  350.        ((somParentMtabStructPtr)
  351.         (somf_TPriorityQueueCClassData.parentMtab))->mtab)
  352.       return;
  353.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  354. }
  355.  
  356. somf_TPriorityQueue(somf_TPriorityQueue* fromObj)
  357. {
  358.    if (*(void**)this != 
  359.        ((somParentMtabStructPtr)
  360.         (somf_TPriorityQueueCClassData.parentMtab))->mtab)
  361.       return;
  362.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  363. }
  364.  
  365. #ifdef __IBMCPP__
  366. #pragma info(nocnv,nopar)
  367. #endif
  368. somf_TPriorityQueue(const somf_TPriorityQueue* fromObj)
  369. {
  370.    if (*(void**)this != 
  371.        ((somParentMtabStructPtr)
  372.         (somf_TPriorityQueueCClassData.parentMtab))->mtab)
  373.       return;
  374.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  375. }
  376. #ifdef __IBMCPP__
  377. #pragma info(restore)
  378. #endif
  379.  
  380.  
  381. /* method: somfTPriorityQueueInitF */
  382. somf_TPriorityQueue*   somfTPriorityQueueInitF(Environment *ev, 
  383.         somf_MOrderableCollectible_somf_MOrderableCompareFn testfn)
  384. {
  385. /*
  386.  *  Initialize a new TPriorityQueue
  387.  */
  388.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfTPriorityQueueInitF)
  389.     (this, ev,testfn);
  390. }
  391.  
  392.  
  393. /* method: somfTPriorityQueueInitP */
  394. somf_TPriorityQueue*   somfTPriorityQueueInitP(Environment *ev, 
  395.         somf_TPriorityQueue* q)
  396. {
  397. /*
  398.  *  Initialize a new TPriorityQueue
  399.  */
  400.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfTPriorityQueueInitP)
  401.     (this, ev,q);
  402. }
  403.  
  404.  
  405. /* method: somfAssign */
  406. void   somfAssign(Environment *ev, 
  407.         somf_TPriorityQueue* source)
  408. {
  409. /*
  410.  *  Assign the instance of this equal to the instance of source.
  411.  */
  412.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfAssign)
  413.     (this, ev,source);
  414. }
  415.  
  416.  
  417. /* method: somfInsert */
  418. void   somfInsert(Environment *ev, 
  419.         somf_MOrderableCollectible* obj)
  420. {
  421. /*
  422.  *  Insert obj in this
  423.  */
  424.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfInsert)
  425.     (this, ev,obj);
  426. }
  427.  
  428.  
  429. /* method: somfPop */
  430. somf_MOrderableCollectible*   somfPop(Environment *ev)
  431. {
  432. /*
  433.  *  Remove the object with the "highest" priority from the priority queue,
  434.  *  and return it.
  435.  */
  436.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfPop)
  437.     (this, ev);
  438. }
  439.  
  440.  
  441. /* method: somfPeek */
  442. somf_MOrderableCollectible*   somfPeek(Environment *ev)
  443. {
  444. /*
  445.  *  Determine the object with the "highest" priority from the TPriorityQueue,
  446.  *  but don't remove it.
  447.  */
  448.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfPeek)
  449.     (this, ev);
  450. }
  451.  
  452.  
  453. /* method: somfReplace */
  454. somf_MOrderableCollectible*   somfReplace(Environment *ev, 
  455.         somf_MOrderableCollectible* obj)
  456. {
  457. /*
  458.  *  This method removes the object with the highest priority from the
  459.  *  TPriorityQueue, then inserts obj into the TPriorityQueue.
  460.  */
  461.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfReplace)
  462.     (this, ev,obj);
  463. }
  464.  
  465.  
  466. /* method: somfChange */
  467. void   somfChange(Environment *ev, 
  468.         somf_MOrderableCollectible* obj)
  469. {
  470. /*
  471.  *  DO NOT USE THIS METHOD, it does nothing.
  472.  */
  473.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfChange)
  474.     (this, ev,obj);
  475. }
  476.  
  477.  
  478. /* method: somfSetEqualityComparisonFunction */
  479. void   somfSetEqualityComparisonFunction(Environment *ev, 
  480.         somf_MCollectible_somf_MCollectibleCompareFn fn)
  481. {
  482. /*
  483.  *  Set the equality comparison function being used by the priority queue.
  484.  */
  485.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfSetEqualityComparisonFunction)
  486.     (this, ev,fn);
  487. }
  488.  
  489.  
  490. /* method: somfGetEqualityComparisonFunction */
  491. somf_MCollectible_somf_MCollectibleCompareFn   somfGetEqualityComparisonFunction(Environment *ev)
  492. {
  493. /*
  494.  *  Return the equality comparison function being used by the priority queue.
  495.  */
  496.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TPriorityQueue,somfGetEqualityComparisonFunction)
  497.     (this, ev);
  498. }
  499.  
  500.  
  501. /*
  502.  * Reintroduce inherited methods
  503.  */
  504.  
  505. /* method: somfAdd */
  506. somf_MCollectible*   somfAdd(Environment *ev, 
  507.         somf_MCollectible* obj)
  508. {
  509. /*
  510.  *  Add obj to this.
  511.  */
  512.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfAdd)
  513.     (this, ev,obj);
  514. }
  515.  
  516.  
  517. /* method: somfAddAll */
  518. void   somfAddAll(Environment *ev, 
  519.         somf_TCollection* col)
  520. {
  521. /*
  522.  *  Add all of the objects in collection to this.  Essentially this is
  523.  *  equivalent to getting an iterator for the collection passed in and adding
  524.  *  each element in the collection to this.
  525.  */
  526.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfAddAll)
  527.     (this, ev,col);
  528. }
  529.  
  530.  
  531. /* method: somfRemove */
  532. somf_MCollectible*   somfRemove(Environment *ev, 
  533.         somf_MCollectible* obj)
  534. {
  535. /*
  536.  *  Remove obj from this.  Return the object which was actually removed
  537.  *  (which if you are using an IsEqual test function may not be the same as the
  538.  *  object passed in only "equal")
  539.  */
  540.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfRemove)
  541.     (this, ev,obj);
  542. }
  543.  
  544.  
  545. /* method: somfRemoveAll */
  546. void   somfRemoveAll(Environment *ev)
  547. {
  548. /*
  549.  *  Remove all of the objects from this.
  550.  */
  551.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfRemoveAll)
  552.     (this, ev);
  553. }
  554.  
  555.  
  556. /* method: somfDeleteAll */
  557. void   somfDeleteAll(Environment *ev)
  558. {
  559. /*
  560.  *  Remove all of the objects from this and deallocate the storage that these
  561.  *  objects might have owned (that is, the destructor function is called
  562.  *  for each object in the collection).
  563.  */
  564.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfDeleteAll)
  565.     (this, ev);
  566. }
  567.  
  568.  
  569. /* method: somfCount */
  570. long   somfCount(Environment *ev)
  571. {
  572. /*
  573.  *  Return the number of objects in this.
  574.  */
  575.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfCount)
  576.     (this, ev);
  577. }
  578.  
  579.  
  580. /* method: somfMember */
  581. somf_MCollectible*   somfMember(Environment *ev, 
  582.         somf_MCollectible* obj)
  583. {
  584. /*
  585.  *  Each object in this is compared to obj using the function testFn.  Return the
  586.  *  object for which testFn returned TRUE.  Return SOMF_NIL if not object was found.
  587.  */
  588.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfMember)
  589.     (this, ev,obj);
  590. }
  591.  
  592.  
  593. /* method: somfCreateIterator */
  594. somf_TIterator*   somfCreateIterator(Environment *ev)
  595. {
  596. /*
  597.  *  This method returns a new iterator which is suitable for use in iterating
  598.  *  over the objects in this collection.
  599.  */
  600.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfCreateIterator)
  601.     (this, ev);
  602. }
  603.  
  604.  
  605. /* method: somfTestFunction */
  606. somf_MCollectible_somf_MCollectibleCompareFn   somfTestFunction(Environment *ev)
  607. {
  608. /*
  609.  *  Return the test function.  This is usually either IsSame or IsEqual.
  610.  */
  611.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfTestFunction)
  612.     (this, ev);
  613. }
  614.  
  615.  
  616. /* method: somfSetTestFunction */
  617. void   somfSetTestFunction(Environment *ev, 
  618.         somf_MCollectible_somf_MCollectibleCompareFn testfn)
  619. {
  620. /*
  621.  *  Set the test function.
  622.  */
  623.    SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfSetTestFunction)
  624.     (this, ev,testfn);
  625. }
  626.  
  627.  
  628. /* method: somfTCollectionInit */
  629. somf_TCollection*   somfTCollectionInit(Environment *ev, 
  630.         somf_MCollectible_somf_MCollectibleCompareFn testfn)
  631. {
  632. /*
  633.  *  Initialize the somf_TCollection test function to testfn.
  634.  */
  635.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_TCollection,somfTCollectionInit)
  636.     (this, ev,testfn);
  637. }
  638.  
  639.  
  640. /* method: somfIsEqual */
  641. boolean   somfIsEqual(Environment *ev, 
  642.         somf_MCollectible* obj)
  643. {
  644.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_MCollectible,somfIsEqual)
  645.     (this, ev,obj);
  646. }
  647.  
  648.  
  649. /* method: somfClone */
  650. somf_MCollectible*   somfClone(Environment *ev)
  651. {
  652. /*
  653.  *  somfClone provides a general function for creating a new instance of this.
  654.  */
  655.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_MCollectible,somfClone)
  656.     (this, ev);
  657. }
  658.  
  659.  
  660. /* method: somfClonePointer */
  661. somf_MCollectible*   somfClonePointer(Environment *ev, 
  662.         somf_MCollectible* clonee)
  663. {
  664. /*
  665.  *  somfClonePointer returns a pointer to a Clone
  666.  */
  667.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_MCollectible,somfClonePointer)
  668.     (this, ev,clonee);
  669. }
  670.  
  671.  
  672. /* method: somfHash */
  673. long   somfHash(Environment *ev)
  674. {
  675. /*
  676.  *  somfHash returns a value suitable for use as a hashing probe for this.
  677.  *  The default function will simply return the address of the object.
  678.  *  The default function is almost certainly not adequate if you are overriding
  679.  *  somfIsEqual because you need to make sure that all objects that "are equal"
  680.  *  to each other return the same hash value.  For example, a TText object would
  681.  *  return a hash value computed using the characters in the string instead of
  682.  *  the address of the string.
  683.  */
  684.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_MCollectible,somfHash)
  685.     (this, ev);
  686. }
  687.  
  688.  
  689. /* method: somfIsSame */
  690. boolean   somfIsSame(Environment *ev, 
  691.         somf_MCollectible* obj)
  692. {
  693. /*
  694.  *  The default function for somfIsSame is a pointer comparison
  695.  */
  696.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_MCollectible,somfIsSame)
  697.     (this, ev,obj);
  698. }
  699.  
  700.  
  701. /* method: somfIsNotEqual */
  702. boolean   somfIsNotEqual(Environment *ev, 
  703.         somf_MCollectible* obj)
  704. {
  705. /*
  706.  *  somfIsNotEqual returns TRUE if obj is NOT isomorphic to this.  It uses
  707.  *  somfIsEqual, so overriding somfIsEqual will handle the logic of somfIsNotEqual too.
  708.  */
  709.    return SOM_ResolveD(this,somf_TPriorityQueue,somf_MCollectible,somfIsNotEqual)
  710.     (this, ev,obj);
  711. }
  712.  
  713.  
  714. /* initializer method: somDefaultInit */
  715. void   somDefaultInit(som3InitCtrl* ctrl)
  716. {
  717. /*
  718.  *  A default initializer for a SOM object. Passing a null ctrl
  719.  *  indicates to the receiver that its class is the class of the
  720.  *  object being initialized, whereby the initializer will determine
  721.  *  an appropriate control structure.
  722.  */
  723.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultInit)
  724.     (this,ctrl);
  725. }
  726.  
  727.  
  728. /* method: somDestruct */
  729. void   somDestruct(octet doFree, 
  730.         som3DestructCtrl* ctrl)
  731. {
  732. /*
  733.  *  The default destructor for a SOM object. A nonzero <doFree>
  734.  *  indicates that the object storage should be freed by the
  735.  *  object's class (via somDeallocate) after uninitialization.
  736.  *  As with somDefaultInit, a null ctrl can be passed.
  737.  */
  738.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDestruct)
  739.     (this,doFree,ctrl);
  740. }
  741.  
  742.  
  743. /* initializer method: somDefaultCopyInit */
  744. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  745.         SOMObject* fromObj)
  746. {
  747. /*
  748.  *  A default copy constructor. Use this to make copies of objects for
  749.  *  calling methods with "by-value" argument semantics.
  750.  */
  751.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultCopyInit)
  752.     (this,ctrl,fromObj);
  753. }
  754.  
  755.  
  756. /* method: somDefaultAssign */
  757. somf_TPriorityQueue*  somDefaultAssign(som3AssignCtrl* ctrl, 
  758.         SOMObject* fromObj)
  759. {
  760. /*
  761.  *  A default assignment operator. Use this to "assign" the state of one
  762.  *  object to another.
  763.  */
  764.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultAssign)
  765.     (this,ctrl,fromObj);
  766. }
  767.  
  768.  
  769. /* initializer method: somDefaultConstCopyInit */
  770. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  771.         SOMObject* fromObj)
  772. {
  773. /*
  774.  *  A default copy constructor that uses a const fromObj.
  775.  */
  776.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultConstCopyInit)
  777.     (this,ctrl,fromObj);
  778. }
  779.  
  780.  
  781. /* initializer method: somDefaultVCopyInit */
  782. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  783.         SOMObject* fromObj)
  784. {
  785. /*
  786.  *  A default copy constructor that uses a volatile fromObj.
  787.  */
  788.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultVCopyInit)
  789.     (this,ctrl,fromObj);
  790. }
  791.  
  792.  
  793. /* initializer method: somDefaultConstVCopyInit */
  794. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  795.         SOMObject* fromObj)
  796. {
  797. /*
  798.  *  A default copy constructor that uses a const volatile fromObj.
  799.  */
  800.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultConstVCopyInit)
  801.     (this,ctrl,fromObj);
  802. }
  803.  
  804.  
  805. /* method: somDefaultConstAssign */
  806. somf_TPriorityQueue*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  807.         SOMObject* fromObj)
  808. {
  809. /*
  810.  *  A default assignment operator that uses a const fromObj.
  811.  */
  812.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultConstAssign)
  813.     (this,ctrl,fromObj);
  814. }
  815.  
  816.  
  817. /* method: somDefaultVAssign */
  818. somf_TPriorityQueue*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  819.         SOMObject* fromObj)
  820. {
  821. /*
  822.  *  A default assignment operator that uses a volatile fromObj.
  823.  */
  824.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultVAssign)
  825.     (this,ctrl,fromObj);
  826. }
  827.  
  828.  
  829. /* method: somDefaultConstVAssign */
  830. somf_TPriorityQueue*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  831.         SOMObject* fromObj)
  832. {
  833. /*
  834.  *  A default assignment operator that uses a const volatile fromObj.
  835.  */
  836.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDefaultConstVAssign)
  837.     (this,ctrl,fromObj);
  838. }
  839.  
  840.  
  841. /* method: somInit */
  842. void   somInit()
  843. {
  844. /*
  845.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  846.  */
  847.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somInit)
  848.     (this);
  849. }
  850.  
  851.  
  852. /* method: somFree */
  853. void   somFree()
  854. {
  855. /*
  856.  *  Use as directed by framework implementations.
  857.  */
  858.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somFree)
  859.     (this);
  860. }
  861.  
  862.  
  863. /* method: somUninit */
  864. void   somUninit()
  865. {
  866. /*
  867.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  868.  */
  869.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somUninit)
  870.     (this);
  871. }
  872.  
  873.  
  874. /* method: somGetClass */
  875. SOMClass*   somGetClass()
  876. {
  877. /*
  878.  *  Return the receiver's class.
  879.  */
  880.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somGetClass)
  881.     (this);
  882. }
  883.  
  884.  
  885. /* method: somGetClassName */
  886. string   somGetClassName()
  887. {
  888. /*
  889.  *  Return the name of the receiver's class.
  890.  */
  891.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somGetClassName)
  892.     (this);
  893. }
  894.  
  895.  
  896. /* method: somGetSize */
  897. long   somGetSize()
  898. {
  899. /*
  900.  *  Return the size of the receiver.
  901.  */
  902.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somGetSize)
  903.     (this);
  904. }
  905.  
  906.  
  907. /* method: somIsA */
  908. boolean   somIsA(SOMClass* aClassObj)
  909. {
  910. /*
  911.  *  Returns 1 (true) if the receiver responds to methods
  912.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  913.  */
  914.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somIsA)
  915.     (this,aClassObj);
  916. }
  917.  
  918.  
  919. /* method: somIsInstanceOf */
  920. boolean   somIsInstanceOf(SOMClass* aClassObj)
  921. {
  922. /*
  923.  *  Returns 1 (true) if the receiver is an instance of
  924.  *  <aClassObj> and 0 (false) otherwise.
  925.  */
  926.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somIsInstanceOf)
  927.     (this,aClassObj);
  928. }
  929.  
  930.  
  931. /* method: somRespondsTo */
  932. boolean   somRespondsTo(somId mId)
  933. {
  934. /*
  935.  *  Returns 1 (true) if the indicated method can be invoked
  936.  *  on the receiver and 0 (false) otherwise.
  937.  */
  938.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somRespondsTo)
  939.     (this,mId);
  940. }
  941.  
  942.  
  943. /* va_list method: somDispatch */
  944.  
  945. /*
  946.  *  This method provides a generic, class-specific dispatch mechanism.
  947.  *  It accepts as input <retValue> a pointer to the memory area to be
  948.  *  loaded with the result of dispatching the method indicated by
  949.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  950.  *  on which the method is to be invoked as the first argument.
  951.  */
  952. /* the va_list invocation form */
  953. boolean   somf_TPriorityQueue_somDispatch(somToken* retValue, 
  954.         somId methodId, 
  955.         va_list ap)
  956. {return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatch)
  957.     (this,retValue,methodId,ap);
  958. }
  959.  
  960. /* the varargs invocation form */
  961. boolean   somDispatch(somToken* retValue, 
  962.         somId methodId, 
  963.         ...)
  964. {
  965. /*
  966.  *  This method provides a generic, class-specific dispatch mechanism.
  967.  *  It accepts as input <retValue> a pointer to the memory area to be
  968.  *  loaded with the result of dispatching the method indicated by
  969.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  970.  *  on which the method is to be invoked as the first argument.
  971.  */
  972.    va_list ap;
  973.    va_start(ap, methodId);
  974.    boolean __somResult = 
  975.       SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatch)
  976.     (this,retValue,methodId,ap);
  977.    va_end(ap);
  978.    return __somResult;
  979. }
  980.  
  981.  
  982. /* va_list method: somClassDispatch */
  983.  
  984. /*
  985.  *  Like somDispatch, but method resolution for static methods is done
  986.  *  according to the clsObj instance method table.
  987.  */
  988. /* the va_list invocation form */
  989. boolean   somf_TPriorityQueue_somClassDispatch(SOMClass* clsObj, 
  990.         somToken* retValue, 
  991.         somId methodId, 
  992.         va_list ap)
  993. {return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somClassDispatch)
  994.     (this,clsObj,retValue,methodId,ap);
  995. }
  996.  
  997. /* the varargs invocation form */
  998. boolean   somClassDispatch(SOMClass* clsObj, 
  999.         somToken* retValue, 
  1000.         somId methodId, 
  1001.         ...)
  1002. {
  1003. /*
  1004.  *  Like somDispatch, but method resolution for static methods is done
  1005.  *  according to the clsObj instance method table.
  1006.  */
  1007.    va_list ap;
  1008.    va_start(ap, methodId);
  1009.    boolean __somResult = 
  1010.       SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somClassDispatch)
  1011.     (this,clsObj,retValue,methodId,ap);
  1012.    va_end(ap);
  1013.    return __somResult;
  1014. }
  1015.  
  1016.  
  1017. /* method: somCastObj */
  1018. boolean   somCastObj(SOMClass* cls)
  1019. {
  1020. /*
  1021.  *  cast the receiving object to cls (which must be an ancestor of the
  1022.  *  objects true class. Returns true on success.
  1023.  */
  1024.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somCastObj)
  1025.     (this,cls);
  1026. }
  1027.  
  1028.  
  1029. /* method: somResetObj */
  1030. boolean   somResetObj()
  1031. {
  1032. /*
  1033.  *  reset an object to its true class. Returns true always.
  1034.  */
  1035.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somResetObj)
  1036.     (this);
  1037. }
  1038.  
  1039.  
  1040. /* va_list method: somDispatchV */
  1041.  
  1042. /*
  1043.  *  Obsolete. Use somDispatch instead.
  1044.  */
  1045. /* the va_list invocation form */
  1046. void   somf_TPriorityQueue_somDispatchV(somId methodId, 
  1047.         somId descriptor, 
  1048.         va_list ap)
  1049. {   SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchV)
  1050.     (this,methodId,descriptor,ap);
  1051. }
  1052.  
  1053. /* the varargs invocation form */
  1054. void   somDispatchV(somId methodId, 
  1055.         somId descriptor, 
  1056.         ...)
  1057. {
  1058. /*
  1059.  *  Obsolete. Use somDispatch instead.
  1060.  */
  1061.    va_list ap;
  1062.    va_start(ap, descriptor);
  1063.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchV)
  1064.     (this,methodId,descriptor,ap);
  1065.    va_end(ap);
  1066. }
  1067.  
  1068.  
  1069. /* va_list method: somDispatchL */
  1070.  
  1071. /*
  1072.  *  Obsolete. Use somDispatch instead.
  1073.  */
  1074. /* the va_list invocation form */
  1075. long   somf_TPriorityQueue_somDispatchL(somId methodId, 
  1076.         somId descriptor, 
  1077.         va_list ap)
  1078. {return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchL)
  1079.     (this,methodId,descriptor,ap);
  1080. }
  1081.  
  1082. /* the varargs invocation form */
  1083. long   somDispatchL(somId methodId, 
  1084.         somId descriptor, 
  1085.         ...)
  1086. {
  1087. /*
  1088.  *  Obsolete. Use somDispatch instead.
  1089.  */
  1090.    va_list ap;
  1091.    va_start(ap, descriptor);
  1092.    long __somResult = 
  1093.       SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchL)
  1094.     (this,methodId,descriptor,ap);
  1095.    va_end(ap);
  1096.    return __somResult;
  1097. }
  1098.  
  1099.  
  1100. /* va_list method: somDispatchA */
  1101.  
  1102. /*
  1103.  *  Obsolete. Use somDispatch instead.
  1104.  */
  1105. /* the va_list invocation form */
  1106. void*   somf_TPriorityQueue_somDispatchA(somId methodId, 
  1107.         somId descriptor, 
  1108.         va_list ap)
  1109. {return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchA)
  1110.     (this,methodId,descriptor,ap);
  1111. }
  1112.  
  1113. /* the varargs invocation form */
  1114. void*   somDispatchA(somId methodId, 
  1115.         somId descriptor, 
  1116.         ...)
  1117. {
  1118. /*
  1119.  *  Obsolete. Use somDispatch instead.
  1120.  */
  1121.    va_list ap;
  1122.    va_start(ap, descriptor);
  1123.    void* __somResult = 
  1124.       SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchA)
  1125.     (this,methodId,descriptor,ap);
  1126.    va_end(ap);
  1127.    return __somResult;
  1128. }
  1129.  
  1130.  
  1131. /* va_list method: somDispatchD */
  1132.  
  1133. /*
  1134.  *  Obsolete. Use somDispatch instead.
  1135.  */
  1136. /* the va_list invocation form */
  1137. double   somf_TPriorityQueue_somDispatchD(somId methodId, 
  1138.         somId descriptor, 
  1139.         va_list ap)
  1140. {return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchD)
  1141.     (this,methodId,descriptor,ap);
  1142. }
  1143.  
  1144. /* the varargs invocation form */
  1145. double   somDispatchD(somId methodId, 
  1146.         somId descriptor, 
  1147.         ...)
  1148. {
  1149. /*
  1150.  *  Obsolete. Use somDispatch instead.
  1151.  */
  1152.    va_list ap;
  1153.    va_start(ap, descriptor);
  1154.    double __somResult = 
  1155.       SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDispatchD)
  1156.     (this,methodId,descriptor,ap);
  1157.    va_end(ap);
  1158.    return __somResult;
  1159. }
  1160.  
  1161.  
  1162. /* method: somPrintSelf */
  1163. SOMObject*   somPrintSelf()
  1164. {
  1165. /*
  1166.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  1167.  *  information about this object.  The default implementation just gives
  1168.  *  the object's class name and its address in memory.
  1169.  *  <self> is returned.
  1170.  */
  1171.    return SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somPrintSelf)
  1172.     (this);
  1173. }
  1174.  
  1175.  
  1176. /* method: somDumpSelf */
  1177. void   somDumpSelf(long level)
  1178. {
  1179. /*
  1180.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  1181.  *  and its current state.
  1182.  * 
  1183.  *  <level> indicates the nesting level for describing compound objects
  1184.  *  it must be greater than or equal to zero.  All lines in the
  1185.  *  description will be preceeded by <2*level> spaces.
  1186.  * 
  1187.  *  This routine only actually writes the data that concerns the object
  1188.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  1189.  *  the object's current state.  This approach allows readable
  1190.  *  descriptions of compound objects to be constructed.
  1191.  * 
  1192.  *  Generally it is not necessary to override this method, if it is
  1193.  *  overriden it generally must be completely replaced.
  1194.  */
  1195.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDumpSelf)
  1196.     (this,level);
  1197. }
  1198.  
  1199.  
  1200. /* method: somDumpSelfInt */
  1201. void   somDumpSelfInt(long level)
  1202. {
  1203. /*
  1204.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  1205.  *  Generally this method will need to be overridden.  When overriding
  1206.  *  it, begin by calling the parent class form of this method and then
  1207.  *  write in a description of your class's instance data. This will
  1208.  *  result in a description of all the object's instance data going
  1209.  *  from its root ancestor class to its specific class.
  1210.  */
  1211.    SOM_ResolveD(this,somf_TPriorityQueue,SOMObject,somDumpSelfInt)
  1212.     (this,level);
  1213. }
  1214.  
  1215.  
  1216.  
  1217. };   /* somf_TPriorityQueue */
  1218.  
  1219.  
  1220.  
  1221. #endif       /* SOM_somf_TPriorityQueue_xh */
  1222.