1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// AMutableDictionary.h 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// ST4 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Created by Alan Condit on 4/18/11. 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Copyright 2011 Alan Condit. All rights reserved. 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import <Foundation/Foundation.h> 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "ACBTree.h" 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "ArrayIterator.h" 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@class ACBTree; 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@class ArrayIterator; 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@interface AMutableDictionary : NSMutableDictionary { 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver __strong ACBTree *root; 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger nodes_av; 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger nodes_inuse; 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger nxt_nodeid; 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSUInteger count; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver __strong NSMutableData *data; 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver __strong id *ptrBuffer; 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (retain) ACBTree *root; 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) NSInteger nodes_av; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) NSInteger nodes_inuse; 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) NSInteger nxt_nodeid; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign, readonly, getter=count) NSUInteger count; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) NSMutableData *data; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@property (assign) id *ptrBuffer; 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (AMutableDictionary *) newDictionary; 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (AMutableDictionary *) dictionaryWithCapacity; 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init; 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithCapacity:(NSUInteger)numItems; 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc; 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (BOOL) isEqual:(id)object; 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) objectForKey:(id)aKey; 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setObject:(id)obj forKey:(id)aKey; 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) removeObjectForKey:(id)aKey; 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSUInteger) count; 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) allKeys; 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) allValues; 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ArrayIterator *) keyEnumerator; 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ArrayIterator *) objectEnumerator; 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) clear; 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) removeAllObjects; 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSInteger) nextNodeId; 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) toKeyArray; 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSArray *) toValueArray; 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end 61