home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
tpq.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-22
|
19KB
|
495 lines
/*
* This file was generated by the SOM Compiler.
* FileName: tpq.h.
* Generated using:
* SOM Precompiler somipc: 2.29.1.17
* SOM Emitter emith: 2.47
*/
/*
* COMPONENT_NAME: somuc
*
* ORIGINS: 82, 81, 27
*
*
* 25H7912 (C) COPYRIGHT International Business Machines Corp. 1992,1996,1996
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*
* Copyright ⌐ 1988, 1989 Apple Computer, Inc. All rights reserved.
*
* CLASS_NAME: somf_TPriorityQueue
*
* DESCRIPTION: A TPriorityQueue is a subclass of TCollection which keeps
* the elements of the collection partially ordered based on
* some ordering function. Priority Queues are often used
* when you must collect a set of records, then process the
* largest, then collect more, the process the largest, etc.
*
*/
#ifndef SOM_somf_TPriorityQueue_h
#define SOM_somf_TPriorityQueue_h
#include <som.h>
/*
* -- This emitter treats Method Tokens as Thunks by default.
* -- Use the sc modifier "nothunks" to change this default
*/
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
/*
* Define the class name as an object type
*/
#ifndef somf_TPriorityQueue
#define somf_TPriorityQueue SOMObject
#endif
#include <tcollect.h>
/*
* Start of bindings for IDL types
*/
#ifndef SOMClass
#define SOMClass SOMObject
#endif /* SOMClass */
#ifndef somf_TIterator
#define somf_TIterator SOMObject
#endif /* somf_TIterator */
#define somf_TPriorityQueue_kInitialPriorityQueueSize 20 /* 20 */
#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_kInitialPriorityQueueSize
#ifdef kInitialPriorityQueueSize
#undef kInitialPriorityQueueSize
#define SOMTGD_kInitialPriorityQueueSize 1
#else
#define kInitialPriorityQueueSize somf_TPriorityQueue_kInitialPriorityQueueSize
#endif /* kInitialPriorityQueueSize */
#endif /* SOMTGD_kInitialPriorityQueueSize */
#endif /* SOM_DONT_USE_SHORT_NAMES */
/*
* End of bindings for IDL types.
*/
/*
* Passthru lines: File: "C.h", "after"
*/
#include <morder.h>
#define somf_TPriorityQueue_MajorVersion 2
#define somf_TPriorityQueue_MinorVersion 1
/*
* External name shortening if required
*/
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define somf_TPriorityQueueNewClass c
#pragma linkage(c, system)
#define somf_TPriorityQueueClassData d
#define somf_TPriorityQueueCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define somf_TPriorityQueue_classObj somf_TPriorityQueueClassData.classObject
#define _somf_TPriorityQueue somf_TPriorityQueue_classObj
/*
* Declare the class creation procedure
*/
SOMEXTERN SOMClass * SOMLINK somf_TPriorityQueueNewClass(integer4 somtmajorVersion,
integer4 somtminorVersion);
#pragma linkage(somf_TPriorityQueueNewClass, system)
/*
* Declare the class data structure
*/
SOMEXTERN struct somf_TPriorityQueueClassDataStructure {
SOMClass *classObject;
somMToken somfInsert;
somMToken somfPop;
somMToken somfPeek;
somMToken somfReplace;
somMToken somfChange;
somMToken somfSetEqualityComparisonFunction;
somMToken somfGetEqualityComparisonFunction;
somMToken somfDownHeap;
somMToken somfUpHeap;
somMToken somfGrowHeap;
somMToken somfMakeNewTable;
somMToken somfCopyIn;
somMToken somfAssign;
somMToken somfTPriorityQueueInitF;
somMToken somfTPriorityQueueInitP;
} SOMDLINK somf_TPriorityQueueClassData;
/*
* Declare the C specific class data structure
*/
SOMEXTERN struct somf_TPriorityQueueCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK somf_TPriorityQueueCClassData;
/*
* New and Renew macros for somf_TPriorityQueue
*/
#define somf_TPriorityQueueNew() \
( _somf_TPriorityQueue ? \
_somNew(_somf_TPriorityQueue) \
: ( somf_TPriorityQueueNewClass(\
somf_TPriorityQueue_MajorVersion, \
somf_TPriorityQueue_MinorVersion),\
_somNew(_somf_TPriorityQueue)))
#define somf_TPriorityQueueRenew(buf) \
( _somf_TPriorityQueue ? \
_somRenew(_somf_TPriorityQueue, buf) \
: ( somf_TPriorityQueueNewClass(\
somf_TPriorityQueue_MajorVersion, \
somf_TPriorityQueue_MinorVersion),\
_somRenew(_somf_TPriorityQueue, buf)))
/*
* Override method: somInit
*/
#define somf_TPriorityQueue_somInit(somSelf) \
SOMObject_somInit(somSelf)
/*
* Override method: somUninit
*/
#define somf_TPriorityQueue_somUninit(somSelf) \
SOMObject_somUninit(somSelf)
/*
* Override method: somfRemove
*/
#define somf_TPriorityQueue_somfRemove(somSelf,ev,obj) \
somf_TCollection_somfRemove(somSelf,ev,obj)
/*
* Override method: somfAdd
*/
#define somf_TPriorityQueue_somfAdd(somSelf,ev,obj) \
somf_TCollection_somfAdd(somSelf,ev,obj)
/*
* Override method: somfRemoveAll
*/
#define somf_TPriorityQueue_somfRemoveAll(somSelf,ev) \
somf_TCollection_somfRemoveAll(somSelf,ev)
/*
* Override method: somfDeleteAll
*/
#define somf_TPriorityQueue_somfDeleteAll(somSelf,ev) \
somf_TCollection_somfDeleteAll(somSelf,ev)
/*
* Override method: somfCount
*/
#define somf_TPriorityQueue_somfCount(somSelf,ev) \
somf_TCollection_somfCount(somSelf,ev)
/*
* Override method: somfMember
*/
#define somf_TPriorityQueue_somfMember(somSelf,ev,obj) \
somf_TCollection_somfMember(somSelf,ev,obj)
/*
* Override method: somfCreateIterator
*/
#define somf_TPriorityQueue_somfCreateIterator(somSelf,ev) \
somf_TCollection_somfCreateIterator(somSelf,ev)
/*
* New Method: somfTPriorityQueueInitF
*/
typedef somf_TPriorityQueue* SOMLINK somTP_somf_TPriorityQueue_somfTPriorityQueueInitF(somf_TPriorityQueue *somSelf, Environment *ev,
somf_MOrderableCollectible_somf_MOrderableCompareFn testfn);
#pragma linkage(somTP_somf_TPriorityQueue_somfTPriorityQueueInitF, system)
typedef somTP_somf_TPriorityQueue_somfTPriorityQueueInitF *somTD_somf_TPriorityQueue_somfTPriorityQueueInitF;
/*
* Initialize a new TPriorityQueue
*/
#define somMD_somf_TPriorityQueue_somfTPriorityQueueInitF "::somf_TPriorityQueue::somfTPriorityQueueInitF"
#define somf_TPriorityQueue_somfTPriorityQueueInitF(somSelf,ev,testfn) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfTPriorityQueueInitF) \
(somSelf,ev,testfn))
#ifndef SOMGD_somfTPriorityQueueInitF
#if (defined(_somfTPriorityQueueInitF) || defined(__somfTPriorityQueueInitF))
#undef _somfTPriorityQueueInitF
#undef __somfTPriorityQueueInitF
#define SOMGD_somfTPriorityQueueInitF 1
#else
#define _somfTPriorityQueueInitF somf_TPriorityQueue_somfTPriorityQueueInitF
#endif /* _somfTPriorityQueueInitF */
#endif /* SOMGD_somfTPriorityQueueInitF */
/*
* New Method: somfTPriorityQueueInitP
*/
typedef somf_TPriorityQueue* SOMLINK somTP_somf_TPriorityQueue_somfTPriorityQueueInitP(somf_TPriorityQueue *somSelf, Environment *ev,
somf_TPriorityQueue* q);
#pragma linkage(somTP_somf_TPriorityQueue_somfTPriorityQueueInitP, system)
typedef somTP_somf_TPriorityQueue_somfTPriorityQueueInitP *somTD_somf_TPriorityQueue_somfTPriorityQueueInitP;
/*
* Initialize a new TPriorityQueue
*/
#define somMD_somf_TPriorityQueue_somfTPriorityQueueInitP "::somf_TPriorityQueue::somfTPriorityQueueInitP"
#define somf_TPriorityQueue_somfTPriorityQueueInitP(somSelf,ev,q) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfTPriorityQueueInitP) \
(somSelf,ev,q))
#ifndef SOMGD_somfTPriorityQueueInitP
#if (defined(_somfTPriorityQueueInitP) || defined(__somfTPriorityQueueInitP))
#undef _somfTPriorityQueueInitP
#undef __somfTPriorityQueueInitP
#define SOMGD_somfTPriorityQueueInitP 1
#else
#define _somfTPriorityQueueInitP somf_TPriorityQueue_somfTPriorityQueueInitP
#endif /* _somfTPriorityQueueInitP */
#endif /* SOMGD_somfTPriorityQueueInitP */
/*
* New Method: somfAssign
*/
typedef void SOMLINK somTP_somf_TPriorityQueue_somfAssign(somf_TPriorityQueue *somSelf, Environment *ev,
somf_TPriorityQueue* source);
#pragma linkage(somTP_somf_TPriorityQueue_somfAssign, system)
typedef somTP_somf_TPriorityQueue_somfAssign *somTD_somf_TPriorityQueue_somfAssign;
/*
* Assign the instance of this equal to the instance of source.
*/
#define somMD_somf_TPriorityQueue_somfAssign "::somf_TPriorityQueue::somfAssign"
#define somf_TPriorityQueue_somfAssign(somSelf,ev,source) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfAssign) \
(somSelf,ev,source))
#ifndef SOMGD_somfAssign
#if (defined(_somfAssign) || defined(__somfAssign))
#undef _somfAssign
#undef __somfAssign
#define SOMGD_somfAssign 1
#else
#define _somfAssign somf_TPriorityQueue_somfAssign
#endif /* _somfAssign */
#endif /* SOMGD_somfAssign */
/*
* New Method: somfInsert
*/
typedef void SOMLINK somTP_somf_TPriorityQueue_somfInsert(somf_TPriorityQueue *somSelf, Environment *ev,
somf_MOrderableCollectible* obj);
#pragma linkage(somTP_somf_TPriorityQueue_somfInsert, system)
typedef somTP_somf_TPriorityQueue_somfInsert *somTD_somf_TPriorityQueue_somfInsert;
/*
* Insert obj in this
*/
#define somMD_somf_TPriorityQueue_somfInsert "::somf_TPriorityQueue::somfInsert"
#define somf_TPriorityQueue_somfInsert(somSelf,ev,obj) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfInsert) \
(somSelf,ev,obj))
#ifndef SOMGD_somfInsert
#if (defined(_somfInsert) || defined(__somfInsert))
#undef _somfInsert
#undef __somfInsert
#define SOMGD_somfInsert 1
#else
#define _somfInsert somf_TPriorityQueue_somfInsert
#endif /* _somfInsert */
#endif /* SOMGD_somfInsert */
/*
* New Method: somfPop
*/
typedef somf_MOrderableCollectible* SOMLINK somTP_somf_TPriorityQueue_somfPop(somf_TPriorityQueue *somSelf, Environment *ev);
#pragma linkage(somTP_somf_TPriorityQueue_somfPop, system)
typedef somTP_somf_TPriorityQueue_somfPop *somTD_somf_TPriorityQueue_somfPop;
/*
* Remove the object with the "highest" priority from the priority queue,
* and return it.
*/
#define somMD_somf_TPriorityQueue_somfPop "::somf_TPriorityQueue::somfPop"
#define somf_TPriorityQueue_somfPop(somSelf,ev) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfPop) \
(somSelf,ev))
#ifndef SOMGD_somfPop
#if (defined(_somfPop) || defined(__somfPop))
#undef _somfPop
#undef __somfPop
#define SOMGD_somfPop 1
#else
#define _somfPop somf_TPriorityQueue_somfPop
#endif /* _somfPop */
#endif /* SOMGD_somfPop */
/*
* New Method: somfPeek
*/
typedef somf_MOrderableCollectible* SOMLINK somTP_somf_TPriorityQueue_somfPeek(somf_TPriorityQueue *somSelf, Environment *ev);
#pragma linkage(somTP_somf_TPriorityQueue_somfPeek, system)
typedef somTP_somf_TPriorityQueue_somfPeek *somTD_somf_TPriorityQueue_somfPeek;
/*
* Determine the object with the "highest" priority from the TPriorityQueue,
* but don't remove it.
*/
#define somMD_somf_TPriorityQueue_somfPeek "::somf_TPriorityQueue::somfPeek"
#define somf_TPriorityQueue_somfPeek(somSelf,ev) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfPeek) \
(somSelf,ev))
#ifndef SOMGD_somfPeek
#if (defined(_somfPeek) || defined(__somfPeek))
#undef _somfPeek
#undef __somfPeek
#define SOMGD_somfPeek 1
#else
#define _somfPeek somf_TPriorityQueue_somfPeek
#endif /* _somfPeek */
#endif /* SOMGD_somfPeek */
/*
* New Method: somfReplace
*/
typedef somf_MOrderableCollectible* SOMLINK somTP_somf_TPriorityQueue_somfReplace(somf_TPriorityQueue *somSelf, Environment *ev,
somf_MOrderableCollectible* obj);
#pragma linkage(somTP_somf_TPriorityQueue_somfReplace, system)
typedef somTP_somf_TPriorityQueue_somfReplace *somTD_somf_TPriorityQueue_somfReplace;
/*
* This method removes the object with the highest priority from the
* TPriorityQueue, then inserts obj into the TPriorityQueue.
*/
#define somMD_somf_TPriorityQueue_somfReplace "::somf_TPriorityQueue::somfReplace"
#define somf_TPriorityQueue_somfReplace(somSelf,ev,obj) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfReplace) \
(somSelf,ev,obj))
#ifndef SOMGD_somfReplace
#if (defined(_somfReplace) || defined(__somfReplace))
#undef _somfReplace
#undef __somfReplace
#define SOMGD_somfReplace 1
#else
#define _somfReplace somf_TPriorityQueue_somfReplace
#endif /* _somfReplace */
#endif /* SOMGD_somfReplace */
/*
* New Method: somfChange
*/
typedef void SOMLINK somTP_somf_TPriorityQueue_somfChange(somf_TPriorityQueue *somSelf, Environment *ev,
somf_MOrderableCollectible* obj);
#pragma linkage(somTP_somf_TPriorityQueue_somfChange, system)
typedef somTP_somf_TPriorityQueue_somfChange *somTD_somf_TPriorityQueue_somfChange;
/*
* DO NOT USE THIS METHOD, it does nothing.
*/
#define somMD_somf_TPriorityQueue_somfChange "::somf_TPriorityQueue::somfChange"
#define somf_TPriorityQueue_somfChange(somSelf,ev,obj) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfChange) \
(somSelf,ev,obj))
#ifndef SOMGD_somfChange
#if (defined(_somfChange) || defined(__somfChange))
#undef _somfChange
#undef __somfChange
#define SOMGD_somfChange 1
#else
#define _somfChange somf_TPriorityQueue_somfChange
#endif /* _somfChange */
#endif /* SOMGD_somfChange */
/*
* New Method: somfSetEqualityComparisonFunction
*/
typedef void SOMLINK somTP_somf_TPriorityQueue_somfSetEqualityComparisonFunction(somf_TPriorityQueue *somSelf, Environment *ev,
somf_MCollectible_somf_MCollectibleCompareFn fn);
#pragma linkage(somTP_somf_TPriorityQueue_somfSetEqualityComparisonFunction, system)
typedef somTP_somf_TPriorityQueue_somfSetEqualityComparisonFunction *somTD_somf_TPriorityQueue_somfSetEqualityComparisonFunction;
/*
* Set the equality comparison function being used by the priority queue.
*/
#define somMD_somf_TPriorityQueue_somfSetEqualityComparisonFunction "::somf_TPriorityQueue::somfSetEqualityComparisonFunction"
#define somf_TPriorityQueue_somfSetEqualityComparisonFunction(somSelf,ev,fn) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfSetEqualityComparisonFunction) \
(somSelf,ev,fn))
#ifndef SOMGD_somfSetEqualityComparisonFunction
#if (defined(_somfSetEqualityComparisonFunction) || defined(__somfSetEqualityComparisonFunction))
#undef _somfSetEqualityComparisonFunction
#undef __somfSetEqualityComparisonFunction
#define SOMGD_somfSetEqualityComparisonFunction 1
#else
#define _somfSetEqualityComparisonFunction somf_TPriorityQueue_somfSetEqualityComparisonFunction
#endif /* _somfSetEqualityComparisonFunction */
#endif /* SOMGD_somfSetEqualityComparisonFunction */
/*
* New Method: somfGetEqualityComparisonFunction
*/
typedef somf_MCollectible_somf_MCollectibleCompareFn SOMLINK somTP_somf_TPriorityQueue_somfGetEqualityComparisonFunction(somf_TPriorityQueue *somSelf, Environment *ev);
#pragma linkage(somTP_somf_TPriorityQueue_somfGetEqualityComparisonFunction, system)
typedef somTP_somf_TPriorityQueue_somfGetEqualityComparisonFunction *somTD_somf_TPriorityQueue_somfGetEqualityComparisonFunction;
/*
* Return the equality comparison function being used by the priority queue.
*/
#define somMD_somf_TPriorityQueue_somfGetEqualityComparisonFunction "::somf_TPriorityQueue::somfGetEqualityComparisonFunction"
#define somf_TPriorityQueue_somfGetEqualityComparisonFunction(somSelf,ev) \
(SOM_Resolve(somSelf, somf_TPriorityQueue, somfGetEqualityComparisonFunction) \
(somSelf,ev))
#ifndef SOMGD_somfGetEqualityComparisonFunction
#if (defined(_somfGetEqualityComparisonFunction) || defined(__somfGetEqualityComparisonFunction))
#undef _somfGetEqualityComparisonFunction
#undef __somfGetEqualityComparisonFunction
#define SOMGD_somfGetEqualityComparisonFunction 1
#else
#define _somfGetEqualityComparisonFunction somf_TPriorityQueue_somfGetEqualityComparisonFunction
#endif /* _somfGetEqualityComparisonFunction */
#endif /* SOMGD_somfGetEqualityComparisonFunction */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somf_TPriorityQueue_somfAddAll somf_TCollection_somfAddAll
#define somf_TPriorityQueue_somfTestFunction somf_TCollection_somfTestFunction
#define somf_TPriorityQueue_somfSetTestFunction somf_TCollection_somfSetTestFunction
#define somf_TPriorityQueue_somfTCollectionInit somf_TCollection_somfTCollectionInit
#define somf_TPriorityQueue_somfIsEqual somf_MCollectible_somfIsEqual
#define somf_TPriorityQueue_somfClone somf_MCollectible_somfClone
#define somf_TPriorityQueue_somfClonePointer somf_MCollectible_somfClonePointer
#define somf_TPriorityQueue_somfHash somf_MCollectible_somfHash
#define somf_TPriorityQueue_somfIsSame somf_MCollectible_somfIsSame
#define somf_TPriorityQueue_somfIsNotEqual somf_MCollectible_somfIsNotEqual
#define somf_TPriorityQueue_somDefaultInit SOMObject_somDefaultInit
#define somf_TPriorityQueue_somDestruct SOMObject_somDestruct
#define somf_TPriorityQueue_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somf_TPriorityQueue_somDefaultAssign SOMObject_somDefaultAssign
#define somf_TPriorityQueue_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somf_TPriorityQueue_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somf_TPriorityQueue_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somf_TPriorityQueue_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somf_TPriorityQueue_somDefaultVAssign SOMObject_somDefaultVAssign
#define somf_TPriorityQueue_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somf_TPriorityQueue_somFree SOMObject_somFree
#define somf_TPriorityQueue_somGetClass SOMObject_somGetClass
#define somf_TPriorityQueue_somGetClassName SOMObject_somGetClassName
#define somf_TPriorityQueue_somGetSize SOMObject_somGetSize
#define somf_TPriorityQueue_somIsA SOMObject_somIsA
#define somf_TPriorityQueue_somIsInstanceOf SOMObject_somIsInstanceOf
#define somf_TPriorityQueue_somRespondsTo SOMObject_somRespondsTo
#define somf_TPriorityQueue_somDispatch SOMObject_somDispatch
#define somf_TPriorityQueue_somClassDispatch SOMObject_somClassDispatch
#define somf_TPriorityQueue_somCastObj SOMObject_somCastObj
#define somf_TPriorityQueue_somResetObj SOMObject_somResetObj
#define somf_TPriorityQueue_somDispatchV SOMObject_somDispatchV
#define somf_TPriorityQueue_somDispatchL SOMObject_somDispatchL
#define somf_TPriorityQueue_somDispatchA SOMObject_somDispatchA
#define somf_TPriorityQueue_somDispatchD SOMObject_somDispatchD
#define somf_TPriorityQueue_somPrintSelf SOMObject_somPrintSelf
#define somf_TPriorityQueue_somDumpSelf SOMObject_somDumpSelf
#define somf_TPriorityQueue_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */
#endif /* SOM_somf_TPriorityQueue_h */