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

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