1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "AMutableArray.h" 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "AMutableDictionary.h" 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "ANTLRLinkBase.h" 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/** 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Sometimes we need to map a key to a value but key is two pieces of data. 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * This nested hash table saves creating a single key each time we access 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * map; avoids mem creation. 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@class AMutableArray; 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@interface ANTLRDoubleKeyMap : ANTLRLinkBase { 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver AMutableDictionary *data; 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init; 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) setObject:(id)v forKey1:(id)k1 forKey2:(NSString *)k2; 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) objectForKey1:(id)k1 forKey2:(id)k2; 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (AMutableDictionary *) objectForKey:(id)k1; 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) valuesForKey:(id)k1; 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) allKeys1; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (AMutableArray *) allKeys2:(id)k1; 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) values; 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (retain) AMutableDictionary *data; 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end 29