home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
thash.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-22
|
32KB
|
812 lines
/*
* This file was generated by the SOM Compiler.
* FileName: thash.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_THashTable
*
* DESCRIPTION: Every Hash Table has a set of entries which associate a
* key to a value. Hash tables provide for fast lookup of a
* value when given a key even if there are a large number of
* entries in the table. Functions are provided for the usual
* things (insert, delete, etc.) as well as for controlling when
* rehashing will occur, and the growth of the table when a
* rehash occurs.
*
*/
#ifndef SOM_somf_THashTable_h
#define SOM_somf_THashTable_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_THashTable
#define somf_THashTable SOMObject
#endif
#include <mcollect.h>
/*
* Start of bindings for IDL types
*/
#ifndef SOMClass
#define SOMClass SOMObject
#endif /* SOMClass */
#ifndef THAssoc
#define THAssoc SOMObject
#endif /* THAssoc */
#define somf_THashTable_kDefaultHashTableSize 23 /* 23 */
#define somf_THashTable_kDefaultGrowthRate 20 /* 20 */
#define somf_THashTable_kDefaultRehashThreshold 80 /* 80 */
typedef unsigned long somf_THashTable_ETableClassification;
#define somf_THashTable_kUnchecked 1UL
#define somf_THashTable_kNormal 2UL
#define somf_THashTable_kFast 3UL
#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_kDefaultHashTableSize
#ifdef kDefaultHashTableSize
#undef kDefaultHashTableSize
#define SOMTGD_kDefaultHashTableSize 1
#else
#define kDefaultHashTableSize somf_THashTable_kDefaultHashTableSize
#endif /* kDefaultHashTableSize */
#endif /* SOMTGD_kDefaultHashTableSize */
#ifndef SOMTGD_kDefaultGrowthRate
#ifdef kDefaultGrowthRate
#undef kDefaultGrowthRate
#define SOMTGD_kDefaultGrowthRate 1
#else
#define kDefaultGrowthRate somf_THashTable_kDefaultGrowthRate
#endif /* kDefaultGrowthRate */
#endif /* SOMTGD_kDefaultGrowthRate */
#ifndef SOMTGD_kDefaultRehashThreshold
#ifdef kDefaultRehashThreshold
#undef kDefaultRehashThreshold
#define SOMTGD_kDefaultRehashThreshold 1
#else
#define kDefaultRehashThreshold somf_THashTable_kDefaultRehashThreshold
#endif /* kDefaultRehashThreshold */
#endif /* SOMTGD_kDefaultRehashThreshold */
#ifndef SOMTGD_ETableClassification
#ifdef ETableClassification
#undef ETableClassification
#define SOMTGD_ETableClassification 1
#else
#define ETableClassification somf_THashTable_ETableClassification
#endif /* ETableClassification */
#endif /* SOMTGD_ETableClassification */
#endif /* SOM_DONT_USE_SHORT_NAMES */
/*
* End of bindings for IDL types.
*/
#define somf_THashTable_MajorVersion 2
#define somf_THashTable_MinorVersion 1
/*
* External name shortening if required
*/
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define somf_THashTableNewClass c
#pragma linkage(c, system)
#define somf_THashTableClassData d
#define somf_THashTableCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define somf_THashTable_classObj somf_THashTableClassData.classObject
#define _somf_THashTable somf_THashTable_classObj
/*
* Declare the class creation procedure
*/
SOMEXTERN SOMClass * SOMLINK somf_THashTableNewClass(integer4 somtmajorVersion,
integer4 somtminorVersion);
#pragma linkage(somf_THashTableNewClass, system)
/*
* Declare the class data structure
*/
SOMEXTERN struct somf_THashTableClassDataStructure {
SOMClass *classObject;
somMToken somfCount;
somMToken somfRemove;
somMToken somfDelete;
somMToken somfMember;
somMToken somfRemoveAll;
somMToken somfDeleteAll;
somMToken somfDeleteAllKeys;
somMToken somfDeleteAllValues;
somMToken somfAddMMB;
somMToken somfAddMM;
somMToken somfGrow;
somMToken somfRetrieve;
somMToken somfSetGrowthRate;
somMToken somfSetRehashThreshold;
somMToken somfGetGrowthRate;
somMToken somfGetRehashThreshold;
somMToken somfSetHashFunction;
somMToken somfGetHashFunction;
somMToken somfFind;
somMToken somfMakeNewTable;
somMToken somfCopyIn;
somMToken somfAssign;
somMToken somfTHashTableInitFLLL;
somMToken somfTHashTableInitFLL;
somMToken somfTHashTableInitFL;
somMToken somfTHashTableInitH;
} SOMDLINK somf_THashTableClassData;
/*
* Declare the C specific class data structure
*/
SOMEXTERN struct somf_THashTableCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK somf_THashTableCClassData;
/*
* New and Renew macros for somf_THashTable
*/
#define somf_THashTableNew() \
( _somf_THashTable ? \
_somNew(_somf_THashTable) \
: ( somf_THashTableNewClass(\
somf_THashTable_MajorVersion, \
somf_THashTable_MinorVersion),\
_somNew(_somf_THashTable)))
#define somf_THashTableRenew(buf) \
( _somf_THashTable ? \
_somRenew(_somf_THashTable, buf) \
: ( somf_THashTableNewClass(\
somf_THashTable_MajorVersion, \
somf_THashTable_MinorVersion),\
_somRenew(_somf_THashTable, buf)))
/*
* Override method: somInit
*/
#define somf_THashTable_somInit(somSelf) \
SOMObject_somInit(somSelf)
/*
* Override method: somUninit
*/
#define somf_THashTable_somUninit(somSelf) \
SOMObject_somUninit(somSelf)
/*
* New Method: somfTHashTableInitFLLL
*/
typedef somf_THashTable* SOMLINK somTP_somf_THashTable_somfTHashTableInitFLLL(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible_somf_MCollectibleCompareFn testfn,
long tablesize,
long rate,
long threshold);
#pragma linkage(somTP_somf_THashTable_somfTHashTableInitFLLL, system)
typedef somTP_somf_THashTable_somfTHashTableInitFLLL *somTD_somf_THashTable_somfTHashTableInitFLLL;
/*
* Initializes the new hash table.
*/
#define somMD_somf_THashTable_somfTHashTableInitFLLL "::somf_THashTable::somfTHashTableInitFLLL"
#define somf_THashTable_somfTHashTableInitFLLL(somSelf,ev,testfn,tablesize,rate,threshold) \
(SOM_Resolve(somSelf, somf_THashTable, somfTHashTableInitFLLL) \
(somSelf,ev,testfn,tablesize,rate,threshold))
#ifndef SOMGD_somfTHashTableInitFLLL
#if (defined(_somfTHashTableInitFLLL) || defined(__somfTHashTableInitFLLL))
#undef _somfTHashTableInitFLLL
#undef __somfTHashTableInitFLLL
#define SOMGD_somfTHashTableInitFLLL 1
#else
#define _somfTHashTableInitFLLL somf_THashTable_somfTHashTableInitFLLL
#endif /* _somfTHashTableInitFLLL */
#endif /* SOMGD_somfTHashTableInitFLLL */
/*
* New Method: somfTHashTableInitFLL
*/
typedef somf_THashTable* SOMLINK somTP_somf_THashTable_somfTHashTableInitFLL(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible_somf_MCollectibleCompareFn testfn,
long tablesize,
long rate);
#pragma linkage(somTP_somf_THashTable_somfTHashTableInitFLL, system)
typedef somTP_somf_THashTable_somfTHashTableInitFLL *somTD_somf_THashTable_somfTHashTableInitFLL;
/*
* Initializes the new hash table.
*/
#define somMD_somf_THashTable_somfTHashTableInitFLL "::somf_THashTable::somfTHashTableInitFLL"
#define somf_THashTable_somfTHashTableInitFLL(somSelf,ev,testfn,tablesize,rate) \
(SOM_Resolve(somSelf, somf_THashTable, somfTHashTableInitFLL) \
(somSelf,ev,testfn,tablesize,rate))
#ifndef SOMGD_somfTHashTableInitFLL
#if (defined(_somfTHashTableInitFLL) || defined(__somfTHashTableInitFLL))
#undef _somfTHashTableInitFLL
#undef __somfTHashTableInitFLL
#define SOMGD_somfTHashTableInitFLL 1
#else
#define _somfTHashTableInitFLL somf_THashTable_somfTHashTableInitFLL
#endif /* _somfTHashTableInitFLL */
#endif /* SOMGD_somfTHashTableInitFLL */
/*
* New Method: somfTHashTableInitFL
*/
typedef somf_THashTable* SOMLINK somTP_somf_THashTable_somfTHashTableInitFL(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible_somf_MCollectibleCompareFn testfn,
long tablesize);
#pragma linkage(somTP_somf_THashTable_somfTHashTableInitFL, system)
typedef somTP_somf_THashTable_somfTHashTableInitFL *somTD_somf_THashTable_somfTHashTableInitFL;
/*
* Initializes the new hash table.
*/
#define somMD_somf_THashTable_somfTHashTableInitFL "::somf_THashTable::somfTHashTableInitFL"
#define somf_THashTable_somfTHashTableInitFL(somSelf,ev,testfn,tablesize) \
(SOM_Resolve(somSelf, somf_THashTable, somfTHashTableInitFL) \
(somSelf,ev,testfn,tablesize))
#ifndef SOMGD_somfTHashTableInitFL
#if (defined(_somfTHashTableInitFL) || defined(__somfTHashTableInitFL))
#undef _somfTHashTableInitFL
#undef __somfTHashTableInitFL
#define SOMGD_somfTHashTableInitFL 1
#else
#define _somfTHashTableInitFL somf_THashTable_somfTHashTableInitFL
#endif /* _somfTHashTableInitFL */
#endif /* SOMGD_somfTHashTableInitFL */
/*
* New Method: somfTHashTableInitH
*/
typedef somf_THashTable* SOMLINK somTP_somf_THashTable_somfTHashTableInitH(somf_THashTable *somSelf, Environment *ev,
somf_THashTable* h);
#pragma linkage(somTP_somf_THashTable_somfTHashTableInitH, system)
typedef somTP_somf_THashTable_somfTHashTableInitH *somTD_somf_THashTable_somfTHashTableInitH;
/*
* Initializes the new hash table.
*/
#define somMD_somf_THashTable_somfTHashTableInitH "::somf_THashTable::somfTHashTableInitH"
#define somf_THashTable_somfTHashTableInitH(somSelf,ev,h) \
(SOM_Resolve(somSelf, somf_THashTable, somfTHashTableInitH) \
(somSelf,ev,h))
#ifndef SOMGD_somfTHashTableInitH
#if (defined(_somfTHashTableInitH) || defined(__somfTHashTableInitH))
#undef _somfTHashTableInitH
#undef __somfTHashTableInitH
#define SOMGD_somfTHashTableInitH 1
#else
#define _somfTHashTableInitH somf_THashTable_somfTHashTableInitH
#endif /* _somfTHashTableInitH */
#endif /* SOMGD_somfTHashTableInitH */
/*
* New Method: somfAssign
*/
typedef void SOMLINK somTP_somf_THashTable_somfAssign(somf_THashTable *somSelf, Environment *ev,
somf_THashTable* source);
#pragma linkage(somTP_somf_THashTable_somfAssign, system)
typedef somTP_somf_THashTable_somfAssign *somTD_somf_THashTable_somfAssign;
/*
* Assign the instance of this equal to the instance of source.
*/
#define somMD_somf_THashTable_somfAssign "::somf_THashTable::somfAssign"
#define somf_THashTable_somfAssign(somSelf,ev,source) \
(SOM_Resolve(somSelf, somf_THashTable, somfAssign) \
(somSelf,ev,source))
#ifndef SOMGD_somfAssign
#if (defined(_somfAssign) || defined(__somfAssign))
#undef _somfAssign
#undef __somfAssign
#define SOMGD_somfAssign 1
#else
#define _somfAssign somf_THashTable_somfAssign
#endif /* _somfAssign */
#endif /* SOMGD_somfAssign */
/*
* New Method: somfCount
*/
typedef long SOMLINK somTP_somf_THashTable_somfCount(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfCount, system)
typedef somTP_somf_THashTable_somfCount *somTD_somf_THashTable_somfCount;
/*
* Return the number of objects in this.
*/
#define somMD_somf_THashTable_somfCount "::somf_THashTable::somfCount"
#define somf_THashTable_somfCount(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfCount) \
(somSelf,ev))
#ifndef SOMGD_somfCount
#if (defined(_somfCount) || defined(__somfCount))
#undef _somfCount
#undef __somfCount
#define SOMGD_somfCount 1
#else
#define _somfCount somf_THashTable_somfCount
#endif /* _somfCount */
#endif /* SOMGD_somfCount */
/*
* New Method: somfRemove
*/
typedef somf_MCollectible* SOMLINK somTP_somf_THashTable_somfRemove(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible* key);
#pragma linkage(somTP_somf_THashTable_somfRemove, system)
typedef somTP_somf_THashTable_somfRemove *somTD_somf_THashTable_somfRemove;
/*
* Remove obj from this. Return the object which was actually removed
* (which if you are using an IsSame test function may not be the same
* as the object passed in only "equal").
*/
#define somMD_somf_THashTable_somfRemove "::somf_THashTable::somfRemove"
#define somf_THashTable_somfRemove(somSelf,ev,key) \
(SOM_Resolve(somSelf, somf_THashTable, somfRemove) \
(somSelf,ev,key))
#ifndef SOMGD_somfRemove
#if (defined(_somfRemove) || defined(__somfRemove))
#undef _somfRemove
#undef __somfRemove
#define SOMGD_somfRemove 1
#else
#define _somfRemove somf_THashTable_somfRemove
#endif /* _somfRemove */
#endif /* SOMGD_somfRemove */
/*
* New Method: somfDelete
*/
typedef somf_MCollectible* SOMLINK somTP_somf_THashTable_somfDelete(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible* key);
#pragma linkage(somTP_somf_THashTable_somfDelete, system)
typedef somTP_somf_THashTable_somfDelete *somTD_somf_THashTable_somfDelete;
/*
* Remove key from this and deallocate the storage that these objects might
* have owned (that is, the destructor function is called for each object
* in the collection). Return the object which was actually removed (which
* if you are using an IsSame test function may not be the same as the object
* passed in only "equal").
*/
#define somMD_somf_THashTable_somfDelete "::somf_THashTable::somfDelete"
#define somf_THashTable_somfDelete(somSelf,ev,key) \
(SOM_Resolve(somSelf, somf_THashTable, somfDelete) \
(somSelf,ev,key))
#ifndef SOMGD_somfDelete
#if (defined(_somfDelete) || defined(__somfDelete))
#undef _somfDelete
#undef __somfDelete
#define SOMGD_somfDelete 1
#else
#define _somfDelete somf_THashTable_somfDelete
#endif /* _somfDelete */
#endif /* SOMGD_somfDelete */
/*
* New Method: somfMember
*/
typedef somf_MCollectible* SOMLINK somTP_somf_THashTable_somfMember(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible* key);
#pragma linkage(somTP_somf_THashTable_somfMember, system)
typedef somTP_somf_THashTable_somfMember *somTD_somf_THashTable_somfMember;
/*
* Each object in this is compared to obj using the function testFn. Return the
* object for which testFn returned TRUE. Return SOMF_NIL if not object was found.
*/
#define somMD_somf_THashTable_somfMember "::somf_THashTable::somfMember"
#define somf_THashTable_somfMember(somSelf,ev,key) \
(SOM_Resolve(somSelf, somf_THashTable, somfMember) \
(somSelf,ev,key))
#ifndef SOMGD_somfMember
#if (defined(_somfMember) || defined(__somfMember))
#undef _somfMember
#undef __somfMember
#define SOMGD_somfMember 1
#else
#define _somfMember somf_THashTable_somfMember
#endif /* _somfMember */
#endif /* SOMGD_somfMember */
/*
* New Method: somfRemoveAll
*/
typedef void SOMLINK somTP_somf_THashTable_somfRemoveAll(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfRemoveAll, system)
typedef somTP_somf_THashTable_somfRemoveAll *somTD_somf_THashTable_somfRemoveAll;
/*
* Remove all of the objects from this.
*/
#define somMD_somf_THashTable_somfRemoveAll "::somf_THashTable::somfRemoveAll"
#define somf_THashTable_somfRemoveAll(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfRemoveAll) \
(somSelf,ev))
#ifndef SOMGD_somfRemoveAll
#if (defined(_somfRemoveAll) || defined(__somfRemoveAll))
#undef _somfRemoveAll
#undef __somfRemoveAll
#define SOMGD_somfRemoveAll 1
#else
#define _somfRemoveAll somf_THashTable_somfRemoveAll
#endif /* _somfRemoveAll */
#endif /* SOMGD_somfRemoveAll */
/*
* New Method: somfDeleteAll
*/
typedef void SOMLINK somTP_somf_THashTable_somfDeleteAll(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfDeleteAll, system)
typedef somTP_somf_THashTable_somfDeleteAll *somTD_somf_THashTable_somfDeleteAll;
/*
* Remove all of the objects from this and deallocate the storage that these
* objects might have owned (that is, the destructor function is called
* for each object in the collection).
*/
#define somMD_somf_THashTable_somfDeleteAll "::somf_THashTable::somfDeleteAll"
#define somf_THashTable_somfDeleteAll(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfDeleteAll) \
(somSelf,ev))
#ifndef SOMGD_somfDeleteAll
#if (defined(_somfDeleteAll) || defined(__somfDeleteAll))
#undef _somfDeleteAll
#undef __somfDeleteAll
#define SOMGD_somfDeleteAll 1
#else
#define _somfDeleteAll somf_THashTable_somfDeleteAll
#endif /* _somfDeleteAll */
#endif /* SOMGD_somfDeleteAll */
/*
* New Method: somfDeleteAllKeys
*/
typedef void SOMLINK somTP_somf_THashTable_somfDeleteAllKeys(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfDeleteAllKeys, system)
typedef somTP_somf_THashTable_somfDeleteAllKeys *somTD_somf_THashTable_somfDeleteAllKeys;
/*
* Remove all of the keys from this and deallocate the storage that these
* objects might have owned (that is, the destructor function is called
* for each object in the collection).
*/
#define somMD_somf_THashTable_somfDeleteAllKeys "::somf_THashTable::somfDeleteAllKeys"
#define somf_THashTable_somfDeleteAllKeys(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfDeleteAllKeys) \
(somSelf,ev))
#ifndef SOMGD_somfDeleteAllKeys
#if (defined(_somfDeleteAllKeys) || defined(__somfDeleteAllKeys))
#undef _somfDeleteAllKeys
#undef __somfDeleteAllKeys
#define SOMGD_somfDeleteAllKeys 1
#else
#define _somfDeleteAllKeys somf_THashTable_somfDeleteAllKeys
#endif /* _somfDeleteAllKeys */
#endif /* SOMGD_somfDeleteAllKeys */
/*
* New Method: somfDeleteAllValues
*/
typedef void SOMLINK somTP_somf_THashTable_somfDeleteAllValues(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfDeleteAllValues, system)
typedef somTP_somf_THashTable_somfDeleteAllValues *somTD_somf_THashTable_somfDeleteAllValues;
/*
* Remove all of the values from this and deallocate the storage that these
* objects might have owned (that is, the destructor function is called
* for each object in the collection).
*/
#define somMD_somf_THashTable_somfDeleteAllValues "::somf_THashTable::somfDeleteAllValues"
#define somf_THashTable_somfDeleteAllValues(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfDeleteAllValues) \
(somSelf,ev))
#ifndef SOMGD_somfDeleteAllValues
#if (defined(_somfDeleteAllValues) || defined(__somfDeleteAllValues))
#undef _somfDeleteAllValues
#undef __somfDeleteAllValues
#define SOMGD_somfDeleteAllValues 1
#else
#define _somfDeleteAllValues somf_THashTable_somfDeleteAllValues
#endif /* _somfDeleteAllValues */
#endif /* SOMGD_somfDeleteAllValues */
/*
* New Method: somfAddMMB
*/
typedef somf_MCollectible* SOMLINK somTP_somf_THashTable_somfAddMMB(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible* key,
somf_MCollectible* value,
boolean replace);
#pragma linkage(somTP_somf_THashTable_somfAddMMB, system)
typedef somTP_somf_THashTable_somfAddMMB *somTD_somf_THashTable_somfAddMMB;
/*
* Add key and value to this. If replace = TRUE, replace a copy if it already
* exists.
*/
#define somMD_somf_THashTable_somfAddMMB "::somf_THashTable::somfAddMMB"
#define somf_THashTable_somfAddMMB(somSelf,ev,key,value,replace) \
(SOM_Resolve(somSelf, somf_THashTable, somfAddMMB) \
(somSelf,ev,key,value,replace))
#ifndef SOMGD_somfAddMMB
#if (defined(_somfAddMMB) || defined(__somfAddMMB))
#undef _somfAddMMB
#undef __somfAddMMB
#define SOMGD_somfAddMMB 1
#else
#define _somfAddMMB somf_THashTable_somfAddMMB
#endif /* _somfAddMMB */
#endif /* SOMGD_somfAddMMB */
/*
* New Method: somfAddMM
*/
typedef somf_MCollectible* SOMLINK somTP_somf_THashTable_somfAddMM(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible* key,
somf_MCollectible* value);
#pragma linkage(somTP_somf_THashTable_somfAddMM, system)
typedef somTP_somf_THashTable_somfAddMM *somTD_somf_THashTable_somfAddMM;
/*
* Add key and value to this. Replace a copy if it already exists.
*/
#define somMD_somf_THashTable_somfAddMM "::somf_THashTable::somfAddMM"
#define somf_THashTable_somfAddMM(somSelf,ev,key,value) \
(SOM_Resolve(somSelf, somf_THashTable, somfAddMM) \
(somSelf,ev,key,value))
#ifndef SOMGD_somfAddMM
#if (defined(_somfAddMM) || defined(__somfAddMM))
#undef _somfAddMM
#undef __somfAddMM
#define SOMGD_somfAddMM 1
#else
#define _somfAddMM somf_THashTable_somfAddMM
#endif /* _somfAddMM */
#endif /* SOMGD_somfAddMM */
/*
* New Method: somfGrow
*/
typedef void SOMLINK somTP_somf_THashTable_somfGrow(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfGrow, system)
typedef somTP_somf_THashTable_somfGrow *somTD_somf_THashTable_somfGrow;
/*
* Grow the Hash Table
*/
#define somMD_somf_THashTable_somfGrow "::somf_THashTable::somfGrow"
#define somf_THashTable_somfGrow(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfGrow) \
(somSelf,ev))
#ifndef SOMGD_somfGrow
#if (defined(_somfGrow) || defined(__somfGrow))
#undef _somfGrow
#undef __somfGrow
#define SOMGD_somfGrow 1
#else
#define _somfGrow somf_THashTable_somfGrow
#endif /* _somfGrow */
#endif /* SOMGD_somfGrow */
/*
* New Method: somfRetrieve
*/
typedef somf_MCollectible* SOMLINK somTP_somf_THashTable_somfRetrieve(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible* key);
#pragma linkage(somTP_somf_THashTable_somfRetrieve, system)
typedef somTP_somf_THashTable_somfRetrieve *somTD_somf_THashTable_somfRetrieve;
/*
* Retrieve and return the value associated with key.
*/
#define somMD_somf_THashTable_somfRetrieve "::somf_THashTable::somfRetrieve"
#define somf_THashTable_somfRetrieve(somSelf,ev,key) \
(SOM_Resolve(somSelf, somf_THashTable, somfRetrieve) \
(somSelf,ev,key))
#ifndef SOMGD_somfRetrieve
#if (defined(_somfRetrieve) || defined(__somfRetrieve))
#undef _somfRetrieve
#undef __somfRetrieve
#define SOMGD_somfRetrieve 1
#else
#define _somfRetrieve somf_THashTable_somfRetrieve
#endif /* _somfRetrieve */
#endif /* SOMGD_somfRetrieve */
/*
* New Method: somfSetGrowthRate
*/
typedef void SOMLINK somTP_somf_THashTable_somfSetGrowthRate(somf_THashTable *somSelf, Environment *ev,
long rate);
#pragma linkage(somTP_somf_THashTable_somfSetGrowthRate, system)
typedef somTP_somf_THashTable_somfSetGrowthRate *somTD_somf_THashTable_somfSetGrowthRate;
/*
* Set the growth rate of the hash table.
*/
#define somMD_somf_THashTable_somfSetGrowthRate "::somf_THashTable::somfSetGrowthRate"
#define somf_THashTable_somfSetGrowthRate(somSelf,ev,rate) \
(SOM_Resolve(somSelf, somf_THashTable, somfSetGrowthRate) \
(somSelf,ev,rate))
#ifndef SOMGD_somfSetGrowthRate
#if (defined(_somfSetGrowthRate) || defined(__somfSetGrowthRate))
#undef _somfSetGrowthRate
#undef __somfSetGrowthRate
#define SOMGD_somfSetGrowthRate 1
#else
#define _somfSetGrowthRate somf_THashTable_somfSetGrowthRate
#endif /* _somfSetGrowthRate */
#endif /* SOMGD_somfSetGrowthRate */
/*
* New Method: somfSetRehashThreshold
*/
typedef void SOMLINK somTP_somf_THashTable_somfSetRehashThreshold(somf_THashTable *somSelf, Environment *ev,
long threshold);
#pragma linkage(somTP_somf_THashTable_somfSetRehashThreshold, system)
typedef somTP_somf_THashTable_somfSetRehashThreshold *somTD_somf_THashTable_somfSetRehashThreshold;
/*
* Set the rehash threshold of the hash table.
*/
#define somMD_somf_THashTable_somfSetRehashThreshold "::somf_THashTable::somfSetRehashThreshold"
#define somf_THashTable_somfSetRehashThreshold(somSelf,ev,threshold) \
(SOM_Resolve(somSelf, somf_THashTable, somfSetRehashThreshold) \
(somSelf,ev,threshold))
#ifndef SOMGD_somfSetRehashThreshold
#if (defined(_somfSetRehashThreshold) || defined(__somfSetRehashThreshold))
#undef _somfSetRehashThreshold
#undef __somfSetRehashThreshold
#define SOMGD_somfSetRehashThreshold 1
#else
#define _somfSetRehashThreshold somf_THashTable_somfSetRehashThreshold
#endif /* _somfSetRehashThreshold */
#endif /* SOMGD_somfSetRehashThreshold */
/*
* New Method: somfGetGrowthRate
*/
typedef long SOMLINK somTP_somf_THashTable_somfGetGrowthRate(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfGetGrowthRate, system)
typedef somTP_somf_THashTable_somfGetGrowthRate *somTD_somf_THashTable_somfGetGrowthRate;
/*
* Return the growth rate of the hash table.
*/
#define somMD_somf_THashTable_somfGetGrowthRate "::somf_THashTable::somfGetGrowthRate"
#define somf_THashTable_somfGetGrowthRate(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfGetGrowthRate) \
(somSelf,ev))
#ifndef SOMGD_somfGetGrowthRate
#if (defined(_somfGetGrowthRate) || defined(__somfGetGrowthRate))
#undef _somfGetGrowthRate
#undef __somfGetGrowthRate
#define SOMGD_somfGetGrowthRate 1
#else
#define _somfGetGrowthRate somf_THashTable_somfGetGrowthRate
#endif /* _somfGetGrowthRate */
#endif /* SOMGD_somfGetGrowthRate */
/*
* New Method: somfGetRehashThreshold
*/
typedef long SOMLINK somTP_somf_THashTable_somfGetRehashThreshold(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfGetRehashThreshold, system)
typedef somTP_somf_THashTable_somfGetRehashThreshold *somTD_somf_THashTable_somfGetRehashThreshold;
/*
* Return the rehash threshold of the hash table.
*/
#define somMD_somf_THashTable_somfGetRehashThreshold "::somf_THashTable::somfGetRehashThreshold"
#define somf_THashTable_somfGetRehashThreshold(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfGetRehashThreshold) \
(somSelf,ev))
#ifndef SOMGD_somfGetRehashThreshold
#if (defined(_somfGetRehashThreshold) || defined(__somfGetRehashThreshold))
#undef _somfGetRehashThreshold
#undef __somfGetRehashThreshold
#define SOMGD_somfGetRehashThreshold 1
#else
#define _somfGetRehashThreshold somf_THashTable_somfGetRehashThreshold
#endif /* _somfGetRehashThreshold */
#endif /* SOMGD_somfGetRehashThreshold */
/*
* New Method: somfSetHashFunction
*/
typedef void SOMLINK somTP_somf_THashTable_somfSetHashFunction(somf_THashTable *somSelf, Environment *ev,
somf_MCollectible_somf_MCollectibleHashFn fn);
#pragma linkage(somTP_somf_THashTable_somfSetHashFunction, system)
typedef somTP_somf_THashTable_somfSetHashFunction *somTD_somf_THashTable_somfSetHashFunction;
/*
* Set the hash function to fn.
*/
#define somMD_somf_THashTable_somfSetHashFunction "::somf_THashTable::somfSetHashFunction"
#define somf_THashTable_somfSetHashFunction(somSelf,ev,fn) \
(SOM_Resolve(somSelf, somf_THashTable, somfSetHashFunction) \
(somSelf,ev,fn))
#ifndef SOMGD_somfSetHashFunction
#if (defined(_somfSetHashFunction) || defined(__somfSetHashFunction))
#undef _somfSetHashFunction
#undef __somfSetHashFunction
#define SOMGD_somfSetHashFunction 1
#else
#define _somfSetHashFunction somf_THashTable_somfSetHashFunction
#endif /* _somfSetHashFunction */
#endif /* SOMGD_somfSetHashFunction */
/*
* New Method: somfGetHashFunction
*/
typedef somf_MCollectible_somf_MCollectibleHashFn SOMLINK somTP_somf_THashTable_somfGetHashFunction(somf_THashTable *somSelf, Environment *ev);
#pragma linkage(somTP_somf_THashTable_somfGetHashFunction, system)
typedef somTP_somf_THashTable_somfGetHashFunction *somTD_somf_THashTable_somfGetHashFunction;
/*
* Return the hash function.
*/
#define somMD_somf_THashTable_somfGetHashFunction "::somf_THashTable::somfGetHashFunction"
#define somf_THashTable_somfGetHashFunction(somSelf,ev) \
(SOM_Resolve(somSelf, somf_THashTable, somfGetHashFunction) \
(somSelf,ev))
#ifndef SOMGD_somfGetHashFunction
#if (defined(_somfGetHashFunction) || defined(__somfGetHashFunction))
#undef _somfGetHashFunction
#undef __somfGetHashFunction
#define SOMGD_somfGetHashFunction 1
#else
#define _somfGetHashFunction somf_THashTable_somfGetHashFunction
#endif /* _somfGetHashFunction */
#endif /* SOMGD_somfGetHashFunction */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somf_THashTable_somfClone somf_MCollectible_somfClone
#define somf_THashTable_somfClonePointer somf_MCollectible_somfClonePointer
#define somf_THashTable_somfHash somf_MCollectible_somfHash
#define somf_THashTable_somfIsEqual somf_MCollectible_somfIsEqual
#define somf_THashTable_somfIsSame somf_MCollectible_somfIsSame
#define somf_THashTable_somfIsNotEqual somf_MCollectible_somfIsNotEqual
#define somf_THashTable_somDefaultInit SOMObject_somDefaultInit
#define somf_THashTable_somDestruct SOMObject_somDestruct
#define somf_THashTable_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somf_THashTable_somDefaultAssign SOMObject_somDefaultAssign
#define somf_THashTable_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somf_THashTable_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somf_THashTable_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somf_THashTable_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somf_THashTable_somDefaultVAssign SOMObject_somDefaultVAssign
#define somf_THashTable_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somf_THashTable_somFree SOMObject_somFree
#define somf_THashTable_somGetClass SOMObject_somGetClass
#define somf_THashTable_somGetClassName SOMObject_somGetClassName
#define somf_THashTable_somGetSize SOMObject_somGetSize
#define somf_THashTable_somIsA SOMObject_somIsA
#define somf_THashTable_somIsInstanceOf SOMObject_somIsInstanceOf
#define somf_THashTable_somRespondsTo SOMObject_somRespondsTo
#define somf_THashTable_somDispatch SOMObject_somDispatch
#define somf_THashTable_somClassDispatch SOMObject_somClassDispatch
#define somf_THashTable_somCastObj SOMObject_somCastObj
#define somf_THashTable_somResetObj SOMObject_somResetObj
#define somf_THashTable_somDispatchV SOMObject_somDispatchV
#define somf_THashTable_somDispatchL SOMObject_somDispatchL
#define somf_THashTable_somDispatchA SOMObject_somDispatchA
#define somf_THashTable_somDispatchD SOMObject_somDispatchD
#define somf_THashTable_somPrintSelf SOMObject_somPrintSelf
#define somf_THashTable_somDumpSelf SOMObject_somDumpSelf
#define somf_THashTable_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */
#endif /* SOM_somf_THashTable_h */