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