1
2#import "AMutableArray.h"
3#import "AMutableDictionary.h"
4#import "ANTLRLinkBase.h"
5/**
6 * Sometimes we need to map a key to a value but key is two pieces of data.
7 * This nested hash table saves creating a single key each time we access
8 * map; avoids mem creation.
9 */
10
11@class AMutableArray;
12
13@interface ANTLRDoubleKeyMap : ANTLRLinkBase {
14    AMutableDictionary *data;
15}
16
17- (id) init;
18- (id) setObject:(id)v forKey1:(id)k1 forKey2:(NSString *)k2;
19- (id) objectForKey1:(id)k1 forKey2:(id)k2;
20- (AMutableDictionary *) objectForKey:(id)k1;
21- (NSArray *) valuesForKey:(id)k1;
22- (NSArray *) allKeys1;
23- (AMutableArray *) allKeys2:(id)k1;
24- (NSArray *) values;
25
26@property (retain) AMutableDictionary *data;
27
28@end
29