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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tpqitr.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_TPriorityQueueIterator
  25.  * 
  26.  * DESCRIPTION: An iterator for somf_TPriorityQueue that will iterate over all
  27.  *              of the objects in a TPriorityQueue.
  28.  * 
  29.  */
  30.  
  31.  
  32. #ifndef SOM_somf_TPriorityQueueIterator_xh
  33. #define SOM_somf_TPriorityQueueIterator_xh
  34.  
  35. class somf_TPriorityQueueIterator;
  36.  
  37. #define somf_TPriorityQueueIterator_MajorVersion 2
  38. #define somf_TPriorityQueueIterator_MinorVersion 1
  39.  
  40. /* C++ SOM defs */
  41. #include <somcls.xh>
  42. #include <somcm.xh>
  43.  
  44. /* C++ parent defs */
  45. #ifndef SOM_somf_TIterator_xh
  46. #include <titeratr.xh>
  47. #endif
  48.  
  49. #ifndef somf_TPriorityQueueIterator_API
  50. #define somf_TPriorityQueueIterator_API
  51. /*
  52.  * -- The Class API
  53.  */
  54.  
  55. /*
  56.  * Start of bindings for IDL types
  57.  */
  58.  
  59. class SOMClass;
  60. class SOMObject;
  61. class somf_MCollectible;
  62. class somf_TPriorityQueue;
  63.  
  64. /*
  65.  * End of bindings for IDL types.
  66.  */
  67.  
  68. /*
  69.  * Passthru lines: File: "C.xh", "after"
  70.  */
  71.  
  72. #include <tpq.xh>
  73.  
  74. /* A procedure to create the somf_TPriorityQueueIterator Class */
  75. SOMEXTERN SOMClass * SOMLINK somf_TPriorityQueueIteratorNewClass(
  76.         integer4 majorVersion,
  77.         integer4 minorVersion);
  78.  
  79. /* The API to the somf_TPriorityQueueIterator class object, and the methods it introduces. */
  80. SOMEXTERN struct somf_TPriorityQueueIteratorClassDataStructure {
  81.     SOMClass *classObject;
  82.     somMToken somfTPriorityQueueIteratorInit;
  83. } SOMDLINK somf_TPriorityQueueIteratorClassData;
  84. #define _somf_TPriorityQueueIterator somf_TPriorityQueueIteratorClassData.classObject
  85.  
  86. /* The API to parentMtabs for somf_TPriorityQueueIterator, and the instance data it introduces. */
  87. SOMEXTERN struct somf_TPriorityQueueIteratorCClassDataStructure {
  88.     somMethodTabs parentMtab;
  89.     somDToken              instanceDataToken;
  90. } SOMDLINK somf_TPriorityQueueIteratorCClassData;
  91.  
  92. /*
  93.  * -- Typedefs for somf_TPriorityQueueIterator Method Procedures
  94.  */
  95. SOMEXTERN {
  96. typedef somf_TPriorityQueueIterator*   SOMLINK somTP_somf_TPriorityQueueIterator_somfTPriorityQueueIteratorInit(somf_TPriorityQueueIterator *somSelf, Environment *ev, 
  97.         somf_TPriorityQueue* h);
  98. typedef somTP_somf_TPriorityQueueIterator_somfTPriorityQueueIteratorInit *somTD_somf_TPriorityQueueIterator_somfTPriorityQueueIteratorInit;
  99.  
  100. /*
  101.  * -- Typedefs for Reintroduced Wrapper Methods
  102.  */
  103. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueueIterator_somfNext(somf_TPriorityQueueIterator *somSelf, Environment *ev);
  104. typedef somTP_somf_TPriorityQueueIterator_somfNext *somTD_somf_TPriorityQueueIterator_somfNext;
  105. typedef somf_MCollectible*   SOMLINK somTP_somf_TPriorityQueueIterator_somfFirst(somf_TPriorityQueueIterator *somSelf, Environment *ev);
  106. typedef somTP_somf_TPriorityQueueIterator_somfFirst *somTD_somf_TPriorityQueueIterator_somfFirst;
  107. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somfRemove(somf_TPriorityQueueIterator *somSelf, Environment *ev);
  108. typedef somTP_somf_TPriorityQueueIterator_somfRemove *somTD_somf_TPriorityQueueIterator_somfRemove;
  109. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultInit(somf_TPriorityQueueIterator *somSelf, 
  110.         som3InitCtrl* ctrl);
  111. typedef somTP_somf_TPriorityQueueIterator_somDefaultInit *somTD_somf_TPriorityQueueIterator_somDefaultInit;
  112. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDestruct(somf_TPriorityQueueIterator *somSelf, 
  113.         octet doFree, 
  114.         som3DestructCtrl* ctrl);
  115. typedef somTP_somf_TPriorityQueueIterator_somDestruct *somTD_somf_TPriorityQueueIterator_somDestruct;
  116. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultCopyInit(somf_TPriorityQueueIterator *somSelf, 
  117.         som3InitCtrl* ctrl, 
  118.         SOMObject* fromObj);
  119. typedef somTP_somf_TPriorityQueueIterator_somDefaultCopyInit *somTD_somf_TPriorityQueueIterator_somDefaultCopyInit;
  120. typedef somf_TPriorityQueueIterator*   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultAssign(somf_TPriorityQueueIterator *somSelf, 
  121.         som3AssignCtrl* ctrl, 
  122.         SOMObject* fromObj);
  123. typedef somTP_somf_TPriorityQueueIterator_somDefaultAssign *somTD_somf_TPriorityQueueIterator_somDefaultAssign;
  124. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultConstCopyInit(somf_TPriorityQueueIterator *somSelf, 
  125.         som3InitCtrl* ctrl, 
  126.         SOMObject* fromObj);
  127. typedef somTP_somf_TPriorityQueueIterator_somDefaultConstCopyInit *somTD_somf_TPriorityQueueIterator_somDefaultConstCopyInit;
  128. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultVCopyInit(somf_TPriorityQueueIterator *somSelf, 
  129.         som3InitCtrl* ctrl, 
  130.         SOMObject* fromObj);
  131. typedef somTP_somf_TPriorityQueueIterator_somDefaultVCopyInit *somTD_somf_TPriorityQueueIterator_somDefaultVCopyInit;
  132. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultConstVCopyInit(somf_TPriorityQueueIterator *somSelf, 
  133.         som3InitCtrl* ctrl, 
  134.         SOMObject* fromObj);
  135. typedef somTP_somf_TPriorityQueueIterator_somDefaultConstVCopyInit *somTD_somf_TPriorityQueueIterator_somDefaultConstVCopyInit;
  136. typedef somf_TPriorityQueueIterator*   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultConstAssign(somf_TPriorityQueueIterator *somSelf, 
  137.         som3AssignCtrl* ctrl, 
  138.         SOMObject* fromObj);
  139. typedef somTP_somf_TPriorityQueueIterator_somDefaultConstAssign *somTD_somf_TPriorityQueueIterator_somDefaultConstAssign;
  140. typedef somf_TPriorityQueueIterator*   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultVAssign(somf_TPriorityQueueIterator *somSelf, 
  141.         som3AssignCtrl* ctrl, 
  142.         SOMObject* fromObj);
  143. typedef somTP_somf_TPriorityQueueIterator_somDefaultVAssign *somTD_somf_TPriorityQueueIterator_somDefaultVAssign;
  144. typedef somf_TPriorityQueueIterator*   SOMLINK somTP_somf_TPriorityQueueIterator_somDefaultConstVAssign(somf_TPriorityQueueIterator *somSelf, 
  145.         som3AssignCtrl* ctrl, 
  146.         SOMObject* fromObj);
  147. typedef somTP_somf_TPriorityQueueIterator_somDefaultConstVAssign *somTD_somf_TPriorityQueueIterator_somDefaultConstVAssign;
  148. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somInit(somf_TPriorityQueueIterator *somSelf);
  149. typedef somTP_somf_TPriorityQueueIterator_somInit *somTD_somf_TPriorityQueueIterator_somInit;
  150. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somFree(somf_TPriorityQueueIterator *somSelf);
  151. typedef somTP_somf_TPriorityQueueIterator_somFree *somTD_somf_TPriorityQueueIterator_somFree;
  152. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somUninit(somf_TPriorityQueueIterator *somSelf);
  153. typedef somTP_somf_TPriorityQueueIterator_somUninit *somTD_somf_TPriorityQueueIterator_somUninit;
  154. typedef SOMClass*   SOMLINK somTP_somf_TPriorityQueueIterator_somGetClass(somf_TPriorityQueueIterator *somSelf);
  155. typedef somTP_somf_TPriorityQueueIterator_somGetClass *somTD_somf_TPriorityQueueIterator_somGetClass;
  156. typedef string   SOMLINK somTP_somf_TPriorityQueueIterator_somGetClassName(somf_TPriorityQueueIterator *somSelf);
  157. typedef somTP_somf_TPriorityQueueIterator_somGetClassName *somTD_somf_TPriorityQueueIterator_somGetClassName;
  158. typedef long   SOMLINK somTP_somf_TPriorityQueueIterator_somGetSize(somf_TPriorityQueueIterator *somSelf);
  159. typedef somTP_somf_TPriorityQueueIterator_somGetSize *somTD_somf_TPriorityQueueIterator_somGetSize;
  160. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somIsA(somf_TPriorityQueueIterator *somSelf, 
  161.         SOMClass* aClassObj);
  162. typedef somTP_somf_TPriorityQueueIterator_somIsA *somTD_somf_TPriorityQueueIterator_somIsA;
  163. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somIsInstanceOf(somf_TPriorityQueueIterator *somSelf, 
  164.         SOMClass* aClassObj);
  165. typedef somTP_somf_TPriorityQueueIterator_somIsInstanceOf *somTD_somf_TPriorityQueueIterator_somIsInstanceOf;
  166. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somRespondsTo(somf_TPriorityQueueIterator *somSelf, 
  167.         somId mId);
  168. typedef somTP_somf_TPriorityQueueIterator_somRespondsTo *somTD_somf_TPriorityQueueIterator_somRespondsTo;
  169. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somDispatch(somf_TPriorityQueueIterator *somSelf, 
  170.         somToken* retValue, 
  171.         somId methodId, 
  172.         va_list ap);
  173. typedef somTP_somf_TPriorityQueueIterator_somDispatch *somTD_somf_TPriorityQueueIterator_somDispatch;
  174. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somClassDispatch(somf_TPriorityQueueIterator *somSelf, 
  175.         SOMClass* clsObj, 
  176.         somToken* retValue, 
  177.         somId methodId, 
  178.         va_list ap);
  179. typedef somTP_somf_TPriorityQueueIterator_somClassDispatch *somTD_somf_TPriorityQueueIterator_somClassDispatch;
  180. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somCastObj(somf_TPriorityQueueIterator *somSelf, 
  181.         SOMClass* cls);
  182. typedef somTP_somf_TPriorityQueueIterator_somCastObj *somTD_somf_TPriorityQueueIterator_somCastObj;
  183. typedef boolean   SOMLINK somTP_somf_TPriorityQueueIterator_somResetObj(somf_TPriorityQueueIterator *somSelf);
  184. typedef somTP_somf_TPriorityQueueIterator_somResetObj *somTD_somf_TPriorityQueueIterator_somResetObj;
  185. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDispatchV(somf_TPriorityQueueIterator *somSelf, 
  186.         somId methodId, 
  187.         somId descriptor, 
  188.         va_list ap);
  189. typedef somTP_somf_TPriorityQueueIterator_somDispatchV *somTD_somf_TPriorityQueueIterator_somDispatchV;
  190. typedef long   SOMLINK somTP_somf_TPriorityQueueIterator_somDispatchL(somf_TPriorityQueueIterator *somSelf, 
  191.         somId methodId, 
  192.         somId descriptor, 
  193.         va_list ap);
  194. typedef somTP_somf_TPriorityQueueIterator_somDispatchL *somTD_somf_TPriorityQueueIterator_somDispatchL;
  195. typedef void*   SOMLINK somTP_somf_TPriorityQueueIterator_somDispatchA(somf_TPriorityQueueIterator *somSelf, 
  196.         somId methodId, 
  197.         somId descriptor, 
  198.         va_list ap);
  199. typedef somTP_somf_TPriorityQueueIterator_somDispatchA *somTD_somf_TPriorityQueueIterator_somDispatchA;
  200. typedef double   SOMLINK somTP_somf_TPriorityQueueIterator_somDispatchD(somf_TPriorityQueueIterator *somSelf, 
  201.         somId methodId, 
  202.         somId descriptor, 
  203.         va_list ap);
  204. typedef somTP_somf_TPriorityQueueIterator_somDispatchD *somTD_somf_TPriorityQueueIterator_somDispatchD;
  205. typedef SOMObject*   SOMLINK somTP_somf_TPriorityQueueIterator_somPrintSelf(somf_TPriorityQueueIterator *somSelf);
  206. typedef somTP_somf_TPriorityQueueIterator_somPrintSelf *somTD_somf_TPriorityQueueIterator_somPrintSelf;
  207. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDumpSelf(somf_TPriorityQueueIterator *somSelf, 
  208.         long level);
  209. typedef somTP_somf_TPriorityQueueIterator_somDumpSelf *somTD_somf_TPriorityQueueIterator_somDumpSelf;
  210. typedef void   SOMLINK somTP_somf_TPriorityQueueIterator_somDumpSelfInt(somf_TPriorityQueueIterator *somSelf, 
  211.         long level);
  212. typedef somTP_somf_TPriorityQueueIterator_somDumpSelfInt *somTD_somf_TPriorityQueueIterator_somDumpSelfInt;
  213. }
  214.  
  215. #endif /* somf_TPriorityQueueIterator_API */
  216.  
  217.  
  218. /*
  219.  * -- This emitter treats Method Tokens as Thunks by default.
  220.  * -- Use the sc modifier "nothunks" to change this default
  221.  */
  222. #undef somresolve_
  223. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  224.  
  225. /*
  226.  * -- The C++ Wrapper Class for somf_TPriorityQueueIterator
  227.  */
  228. class somf_TPriorityQueueIterator : public somf_TIterator
  229. {
  230. public:
  231.  
  232. // somf_TPriorityQueueIterator::new creates the class object if necessary, and then uses somNewNoInit
  233. // to allocate memory and create the object. Initialization is in ctors.
  234. void *operator new(size_t)
  235. {
  236.    if (!_somf_TPriorityQueueIterator) somf_TPriorityQueueIteratorNewClass(somf_TPriorityQueueIterator_MajorVersion,somf_TPriorityQueueIterator_MinorVersion);
  237.    return (void*)
  238.       SOM_Resolve(_somf_TPriorityQueueIterator,SOMClass,somNewNoInit)
  239.          ((SOMClass *)((void*)_somf_TPriorityQueueIterator));
  240. }
  241.  
  242. // somf_TPriorityQueueIterator::delete uses somDestruct.
  243. void operator delete(void * obj)
  244. {
  245.    if (obj && *(void**)obj) {
  246.       SOM_Resolve(obj,SOMObject,somFree)
  247.          ((SOMObject*)obj);
  248.    }
  249. }
  250.  
  251. somf_TPriorityQueueIterator& operator=(somf_TPriorityQueueIterator& fromObj)
  252. {
  253.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  254.    return *this;
  255. }
  256.  
  257. somf_TPriorityQueueIterator()
  258. {
  259.    if (*(void**)this != 
  260.        ((somParentMtabStructPtr)
  261.         (somf_TPriorityQueueIteratorCClassData.parentMtab))->mtab)
  262.       return;
  263.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  264. }
  265.  
  266. somf_TPriorityQueueIterator(somf_TPriorityQueueIterator* fromObj)
  267. {
  268.    if (*(void**)this != 
  269.        ((somParentMtabStructPtr)
  270.         (somf_TPriorityQueueIteratorCClassData.parentMtab))->mtab)
  271.       return;
  272.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  273. }
  274.  
  275. #ifdef __IBMCPP__
  276. #pragma info(nocnv,nopar)
  277. #endif
  278. somf_TPriorityQueueIterator(const somf_TPriorityQueueIterator* fromObj)
  279. {
  280.    if (*(void**)this != 
  281.        ((somParentMtabStructPtr)
  282.         (somf_TPriorityQueueIteratorCClassData.parentMtab))->mtab)
  283.       return;
  284.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  285. }
  286. #ifdef __IBMCPP__
  287. #pragma info(restore)
  288. #endif
  289.  
  290.  
  291. /* method: somfTPriorityQueueIteratorInit */
  292. somf_TPriorityQueueIterator*   somfTPriorityQueueIteratorInit(Environment *ev, 
  293.         somf_TPriorityQueue* h)
  294. {
  295. /*
  296.  *  Initializes the new TPriorityQueue iterator.
  297.  */
  298.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,somf_TPriorityQueueIterator,somfTPriorityQueueIteratorInit)
  299.     (this, ev,h);
  300. }
  301.  
  302.  
  303. /*
  304.  * Reintroduce inherited methods
  305.  */
  306.  
  307. /* method: somfNext */
  308. somf_MCollectible*   somfNext(Environment *ev)
  309. {
  310. /*
  311.  *  Retrieve the next object in the collection and return it.  The order that
  312.  *  objects are retrieved is in an order that reflects the "ordered-ness"
  313.  *  of the collection (or the lack of ordering on the collection elements).
  314.  *  If the collection has changed since the last time somfFirst was called,
  315.  *  this method will FAIL.
  316.  */
  317.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,somf_TIterator,somfNext)
  318.     (this, ev);
  319. }
  320.  
  321.  
  322. /* method: somfFirst */
  323. somf_MCollectible*   somfFirst(Environment *ev)
  324. {
  325. /*
  326.  *  Reset the iterator and return the first element of the collection.  This
  327.  *  resyncs the iterator to the collection if other operations on the
  328.  *  collection caused the iterator to be invalidated.
  329.  */
  330.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,somf_TIterator,somfFirst)
  331.     (this, ev);
  332. }
  333.  
  334.  
  335. /* method: somfRemove */
  336. void   somfRemove(Environment *ev)
  337. {
  338. /*
  339.  *  Remove the current object, the one just returned by First or Next,
  340.  *  from the Collection.
  341.  */
  342.    SOM_ResolveD(this,somf_TPriorityQueueIterator,somf_TIterator,somfRemove)
  343.     (this, ev);
  344. }
  345.  
  346.  
  347. /* initializer method: somDefaultInit */
  348. void   somDefaultInit(som3InitCtrl* ctrl)
  349. {
  350. /*
  351.  *  A default initializer for a SOM object. Passing a null ctrl
  352.  *  indicates to the receiver that its class is the class of the
  353.  *  object being initialized, whereby the initializer will determine
  354.  *  an appropriate control structure.
  355.  */
  356.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultInit)
  357.     (this,ctrl);
  358. }
  359.  
  360.  
  361. /* method: somDestruct */
  362. void   somDestruct(octet doFree, 
  363.         som3DestructCtrl* ctrl)
  364. {
  365. /*
  366.  *  The default destructor for a SOM object. A nonzero <doFree>
  367.  *  indicates that the object storage should be freed by the
  368.  *  object's class (via somDeallocate) after uninitialization.
  369.  *  As with somDefaultInit, a null ctrl can be passed.
  370.  */
  371.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDestruct)
  372.     (this,doFree,ctrl);
  373. }
  374.  
  375.  
  376. /* initializer method: somDefaultCopyInit */
  377. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  378.         SOMObject* fromObj)
  379. {
  380. /*
  381.  *  A default copy constructor. Use this to make copies of objects for
  382.  *  calling methods with "by-value" argument semantics.
  383.  */
  384.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultCopyInit)
  385.     (this,ctrl,fromObj);
  386. }
  387.  
  388.  
  389. /* method: somDefaultAssign */
  390. somf_TPriorityQueueIterator*  somDefaultAssign(som3AssignCtrl* ctrl, 
  391.         SOMObject* fromObj)
  392. {
  393. /*
  394.  *  A default assignment operator. Use this to "assign" the state of one
  395.  *  object to another.
  396.  */
  397.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultAssign)
  398.     (this,ctrl,fromObj);
  399. }
  400.  
  401.  
  402. /* initializer method: somDefaultConstCopyInit */
  403. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  404.         SOMObject* fromObj)
  405. {
  406. /*
  407.  *  A default copy constructor that uses a const fromObj.
  408.  */
  409.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultConstCopyInit)
  410.     (this,ctrl,fromObj);
  411. }
  412.  
  413.  
  414. /* initializer method: somDefaultVCopyInit */
  415. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  416.         SOMObject* fromObj)
  417. {
  418. /*
  419.  *  A default copy constructor that uses a volatile fromObj.
  420.  */
  421.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultVCopyInit)
  422.     (this,ctrl,fromObj);
  423. }
  424.  
  425.  
  426. /* initializer method: somDefaultConstVCopyInit */
  427. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  428.         SOMObject* fromObj)
  429. {
  430. /*
  431.  *  A default copy constructor that uses a const volatile fromObj.
  432.  */
  433.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultConstVCopyInit)
  434.     (this,ctrl,fromObj);
  435. }
  436.  
  437.  
  438. /* method: somDefaultConstAssign */
  439. somf_TPriorityQueueIterator*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  440.         SOMObject* fromObj)
  441. {
  442. /*
  443.  *  A default assignment operator that uses a const fromObj.
  444.  */
  445.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultConstAssign)
  446.     (this,ctrl,fromObj);
  447. }
  448.  
  449.  
  450. /* method: somDefaultVAssign */
  451. somf_TPriorityQueueIterator*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  452.         SOMObject* fromObj)
  453. {
  454. /*
  455.  *  A default assignment operator that uses a volatile fromObj.
  456.  */
  457.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultVAssign)
  458.     (this,ctrl,fromObj);
  459. }
  460.  
  461.  
  462. /* method: somDefaultConstVAssign */
  463. somf_TPriorityQueueIterator*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  464.         SOMObject* fromObj)
  465. {
  466. /*
  467.  *  A default assignment operator that uses a const volatile fromObj.
  468.  */
  469.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDefaultConstVAssign)
  470.     (this,ctrl,fromObj);
  471. }
  472.  
  473.  
  474. /* method: somInit */
  475. void   somInit()
  476. {
  477. /*
  478.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  479.  */
  480.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somInit)
  481.     (this);
  482. }
  483.  
  484.  
  485. /* method: somFree */
  486. void   somFree()
  487. {
  488. /*
  489.  *  Use as directed by framework implementations.
  490.  */
  491.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somFree)
  492.     (this);
  493. }
  494.  
  495.  
  496. /* method: somUninit */
  497. void   somUninit()
  498. {
  499. /*
  500.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  501.  */
  502.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somUninit)
  503.     (this);
  504. }
  505.  
  506.  
  507. /* method: somGetClass */
  508. SOMClass*   somGetClass()
  509. {
  510. /*
  511.  *  Return the receiver's class.
  512.  */
  513.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somGetClass)
  514.     (this);
  515. }
  516.  
  517.  
  518. /* method: somGetClassName */
  519. string   somGetClassName()
  520. {
  521. /*
  522.  *  Return the name of the receiver's class.
  523.  */
  524.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somGetClassName)
  525.     (this);
  526. }
  527.  
  528.  
  529. /* method: somGetSize */
  530. long   somGetSize()
  531. {
  532. /*
  533.  *  Return the size of the receiver.
  534.  */
  535.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somGetSize)
  536.     (this);
  537. }
  538.  
  539.  
  540. /* method: somIsA */
  541. boolean   somIsA(SOMClass* aClassObj)
  542. {
  543. /*
  544.  *  Returns 1 (true) if the receiver responds to methods
  545.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  546.  */
  547.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somIsA)
  548.     (this,aClassObj);
  549. }
  550.  
  551.  
  552. /* method: somIsInstanceOf */
  553. boolean   somIsInstanceOf(SOMClass* aClassObj)
  554. {
  555. /*
  556.  *  Returns 1 (true) if the receiver is an instance of
  557.  *  <aClassObj> and 0 (false) otherwise.
  558.  */
  559.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somIsInstanceOf)
  560.     (this,aClassObj);
  561. }
  562.  
  563.  
  564. /* method: somRespondsTo */
  565. boolean   somRespondsTo(somId mId)
  566. {
  567. /*
  568.  *  Returns 1 (true) if the indicated method can be invoked
  569.  *  on the receiver and 0 (false) otherwise.
  570.  */
  571.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somRespondsTo)
  572.     (this,mId);
  573. }
  574.  
  575.  
  576. /* va_list method: somDispatch */
  577.  
  578. /*
  579.  *  This method provides a generic, class-specific dispatch mechanism.
  580.  *  It accepts as input <retValue> a pointer to the memory area to be
  581.  *  loaded with the result of dispatching the method indicated by
  582.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  583.  *  on which the method is to be invoked as the first argument.
  584.  */
  585. /* the va_list invocation form */
  586. boolean   somf_TPriorityQueueIterator_somDispatch(somToken* retValue, 
  587.         somId methodId, 
  588.         va_list ap)
  589. {return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatch)
  590.     (this,retValue,methodId,ap);
  591. }
  592.  
  593. /* the varargs invocation form */
  594. boolean   somDispatch(somToken* retValue, 
  595.         somId methodId, 
  596.         ...)
  597. {
  598. /*
  599.  *  This method provides a generic, class-specific dispatch mechanism.
  600.  *  It accepts as input <retValue> a pointer to the memory area to be
  601.  *  loaded with the result of dispatching the method indicated by
  602.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  603.  *  on which the method is to be invoked as the first argument.
  604.  */
  605.    va_list ap;
  606.    va_start(ap, methodId);
  607.    boolean __somResult = 
  608.       SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatch)
  609.     (this,retValue,methodId,ap);
  610.    va_end(ap);
  611.    return __somResult;
  612. }
  613.  
  614.  
  615. /* va_list method: somClassDispatch */
  616.  
  617. /*
  618.  *  Like somDispatch, but method resolution for static methods is done
  619.  *  according to the clsObj instance method table.
  620.  */
  621. /* the va_list invocation form */
  622. boolean   somf_TPriorityQueueIterator_somClassDispatch(SOMClass* clsObj, 
  623.         somToken* retValue, 
  624.         somId methodId, 
  625.         va_list ap)
  626. {return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somClassDispatch)
  627.     (this,clsObj,retValue,methodId,ap);
  628. }
  629.  
  630. /* the varargs invocation form */
  631. boolean   somClassDispatch(SOMClass* clsObj, 
  632.         somToken* retValue, 
  633.         somId methodId, 
  634.         ...)
  635. {
  636. /*
  637.  *  Like somDispatch, but method resolution for static methods is done
  638.  *  according to the clsObj instance method table.
  639.  */
  640.    va_list ap;
  641.    va_start(ap, methodId);
  642.    boolean __somResult = 
  643.       SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somClassDispatch)
  644.     (this,clsObj,retValue,methodId,ap);
  645.    va_end(ap);
  646.    return __somResult;
  647. }
  648.  
  649.  
  650. /* method: somCastObj */
  651. boolean   somCastObj(SOMClass* cls)
  652. {
  653. /*
  654.  *  cast the receiving object to cls (which must be an ancestor of the
  655.  *  objects true class. Returns true on success.
  656.  */
  657.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somCastObj)
  658.     (this,cls);
  659. }
  660.  
  661.  
  662. /* method: somResetObj */
  663. boolean   somResetObj()
  664. {
  665. /*
  666.  *  reset an object to its true class. Returns true always.
  667.  */
  668.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somResetObj)
  669.     (this);
  670. }
  671.  
  672.  
  673. /* va_list method: somDispatchV */
  674.  
  675. /*
  676.  *  Obsolete. Use somDispatch instead.
  677.  */
  678. /* the va_list invocation form */
  679. void   somf_TPriorityQueueIterator_somDispatchV(somId methodId, 
  680.         somId descriptor, 
  681.         va_list ap)
  682. {   SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchV)
  683.     (this,methodId,descriptor,ap);
  684. }
  685.  
  686. /* the varargs invocation form */
  687. void   somDispatchV(somId methodId, 
  688.         somId descriptor, 
  689.         ...)
  690. {
  691. /*
  692.  *  Obsolete. Use somDispatch instead.
  693.  */
  694.    va_list ap;
  695.    va_start(ap, descriptor);
  696.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchV)
  697.     (this,methodId,descriptor,ap);
  698.    va_end(ap);
  699. }
  700.  
  701.  
  702. /* va_list method: somDispatchL */
  703.  
  704. /*
  705.  *  Obsolete. Use somDispatch instead.
  706.  */
  707. /* the va_list invocation form */
  708. long   somf_TPriorityQueueIterator_somDispatchL(somId methodId, 
  709.         somId descriptor, 
  710.         va_list ap)
  711. {return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchL)
  712.     (this,methodId,descriptor,ap);
  713. }
  714.  
  715. /* the varargs invocation form */
  716. long   somDispatchL(somId methodId, 
  717.         somId descriptor, 
  718.         ...)
  719. {
  720. /*
  721.  *  Obsolete. Use somDispatch instead.
  722.  */
  723.    va_list ap;
  724.    va_start(ap, descriptor);
  725.    long __somResult = 
  726.       SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchL)
  727.     (this,methodId,descriptor,ap);
  728.    va_end(ap);
  729.    return __somResult;
  730. }
  731.  
  732.  
  733. /* va_list method: somDispatchA */
  734.  
  735. /*
  736.  *  Obsolete. Use somDispatch instead.
  737.  */
  738. /* the va_list invocation form */
  739. void*   somf_TPriorityQueueIterator_somDispatchA(somId methodId, 
  740.         somId descriptor, 
  741.         va_list ap)
  742. {return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchA)
  743.     (this,methodId,descriptor,ap);
  744. }
  745.  
  746. /* the varargs invocation form */
  747. void*   somDispatchA(somId methodId, 
  748.         somId descriptor, 
  749.         ...)
  750. {
  751. /*
  752.  *  Obsolete. Use somDispatch instead.
  753.  */
  754.    va_list ap;
  755.    va_start(ap, descriptor);
  756.    void* __somResult = 
  757.       SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchA)
  758.     (this,methodId,descriptor,ap);
  759.    va_end(ap);
  760.    return __somResult;
  761. }
  762.  
  763.  
  764. /* va_list method: somDispatchD */
  765.  
  766. /*
  767.  *  Obsolete. Use somDispatch instead.
  768.  */
  769. /* the va_list invocation form */
  770. double   somf_TPriorityQueueIterator_somDispatchD(somId methodId, 
  771.         somId descriptor, 
  772.         va_list ap)
  773. {return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchD)
  774.     (this,methodId,descriptor,ap);
  775. }
  776.  
  777. /* the varargs invocation form */
  778. double   somDispatchD(somId methodId, 
  779.         somId descriptor, 
  780.         ...)
  781. {
  782. /*
  783.  *  Obsolete. Use somDispatch instead.
  784.  */
  785.    va_list ap;
  786.    va_start(ap, descriptor);
  787.    double __somResult = 
  788.       SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDispatchD)
  789.     (this,methodId,descriptor,ap);
  790.    va_end(ap);
  791.    return __somResult;
  792. }
  793.  
  794.  
  795. /* method: somPrintSelf */
  796. SOMObject*   somPrintSelf()
  797. {
  798. /*
  799.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  800.  *  information about this object.  The default implementation just gives
  801.  *  the object's class name and its address in memory.
  802.  *  <self> is returned.
  803.  */
  804.    return SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somPrintSelf)
  805.     (this);
  806. }
  807.  
  808.  
  809. /* method: somDumpSelf */
  810. void   somDumpSelf(long level)
  811. {
  812. /*
  813.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  814.  *  and its current state.
  815.  * 
  816.  *  <level> indicates the nesting level for describing compound objects
  817.  *  it must be greater than or equal to zero.  All lines in the
  818.  *  description will be preceeded by <2*level> spaces.
  819.  * 
  820.  *  This routine only actually writes the data that concerns the object
  821.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  822.  *  the object's current state.  This approach allows readable
  823.  *  descriptions of compound objects to be constructed.
  824.  * 
  825.  *  Generally it is not necessary to override this method, if it is
  826.  *  overriden it generally must be completely replaced.
  827.  */
  828.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDumpSelf)
  829.     (this,level);
  830. }
  831.  
  832.  
  833. /* method: somDumpSelfInt */
  834. void   somDumpSelfInt(long level)
  835. {
  836. /*
  837.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  838.  *  Generally this method will need to be overridden.  When overriding
  839.  *  it, begin by calling the parent class form of this method and then
  840.  *  write in a description of your class's instance data. This will
  841.  *  result in a description of all the object's instance data going
  842.  *  from its root ancestor class to its specific class.
  843.  */
  844.    SOM_ResolveD(this,somf_TPriorityQueueIterator,SOMObject,somDumpSelfInt)
  845.     (this,level);
  846. }
  847.  
  848.  
  849.  
  850. };   /* somf_TPriorityQueueIterator */
  851.  
  852.  
  853.  
  854. #endif       /* SOM_somf_TPriorityQueueIterator_xh */
  855.