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