1*16467b97STreehugger Robot 2*16467b97STreehugger Robot @class HashTable; 3*16467b97STreehugger Robot 4*16467b97STreehugger Robot /** 5*16467b97STreehugger Robot * HashTable entry. 6*16467b97STreehugger Robot */ 7*16467b97STreehugger Robot 8*16467b97STreehugger Robot @interface HTEntry : NSObject { 9*16467b97STreehugger Robot HTEntry *next; 10*16467b97STreehugger Robot NSInteger hash; 11*16467b97STreehugger Robot NSString *key; 12*16467b97STreehugger Robot id value; 13*16467b97STreehugger Robot } 14*16467b97STreehugger Robot 15*16467b97STreehugger Robot @property(nonatomic, retain) HTEntry *next; 16*16467b97STreehugger Robot @property(assign) NSInteger hash; 17*16467b97STreehugger Robot @property(nonatomic, retain) NSString *key; 18*16467b97STreehugger Robot @property(nonatomic, retain) id value; 19*16467b97STreehugger Robot 20*16467b97STreehugger Robot + (HTEntry *)newEntry:(NSInteger)h key:(NSString *)k value:(id)v next:(HTEntry *) n; 21*16467b97STreehugger Robot - (id) init:(NSInteger)h key:(NSString *)k value:(id)v next:(HTEntry *)n; 22*16467b97STreehugger Robot - (id) copyWithZone:(NSZone *)zone; 23*16467b97STreehugger Robot - (void) setValue:(id)newValue; 24*16467b97STreehugger Robot - (BOOL) isEqualTo:(id)o; 25*16467b97STreehugger Robot - (NSInteger) hash; 26*16467b97STreehugger Robot - (NSString *) description; 27*16467b97STreehugger Robot @end 28*16467b97STreehugger Robot 29*16467b97STreehugger Robot /** 30*16467b97STreehugger Robot * LinkedMap entry. 31*16467b97STreehugger Robot */ 32*16467b97STreehugger Robot 33*16467b97STreehugger Robot @interface LMNode : NSObject { 34*16467b97STreehugger Robot LMNode *next; 35*16467b97STreehugger Robot LMNode *prev; 36*16467b97STreehugger Robot id item; 37*16467b97STreehugger Robot } 38*16467b97STreehugger Robot 39*16467b97STreehugger Robot @property(nonatomic, retain) LMNode *next; 40*16467b97STreehugger Robot @property(nonatomic, retain) LMNode *prev; 41*16467b97STreehugger Robot @property(nonatomic, retain) id item; 42*16467b97STreehugger Robot 43*16467b97STreehugger Robot + (LMNode *) newNode:(LMNode *)aPrev element:(id)anElement next:(LMNode *)aNext; 44*16467b97STreehugger Robot - (id) init:(LMNode *)aPrev element:(id)anElement next:(LMNode *)aNext; 45*16467b97STreehugger Robot @end 46*16467b97STreehugger Robot 47