diff options
Diffstat (limited to 'runtime/ObjC/Framework/ANTLRDoubleKeyMap.h')
-rw-r--r-- | runtime/ObjC/Framework/ANTLRDoubleKeyMap.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h b/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h new file mode 100644 index 0000000..7885879 --- /dev/null +++ b/runtime/ObjC/Framework/ANTLRDoubleKeyMap.h @@ -0,0 +1,28 @@ + +#import "AMutableArray.h" +#import "AMutableDictionary.h" +#import "ANTLRLinkBase.h" +/** + * Sometimes we need to map a key to a value but key is two pieces of data. + * This nested hash table saves creating a single key each time we access + * map; avoids mem creation. + */ + +@class AMutableArray; + +@interface ANTLRDoubleKeyMap : ANTLRLinkBase { + AMutableDictionary *data; +} + +- (id) init; +- (id) setObject:(id)v forKey1:(id)k1 forKey2:(NSString *)k2; +- (id) objectForKey1:(id)k1 forKey2:(id)k2; +- (AMutableDictionary *) objectForKey:(id)k1; +- (NSArray *) valuesForKey:(id)k1; +- (NSArray *) allKeys1; +- (AMutableArray *) allKeys2:(id)k1; +- (NSArray *) values; + +@property (retain) AMutableDictionary *data; + +@end |