1// 2// AMutableDictionary.h 3// ST4 4// 5// Created by Alan Condit on 4/18/11. 6// Copyright 2011 Alan Condit. All rights reserved. 7// 8 9#import <Foundation/Foundation.h> 10#import "ACBTree.h" 11#import "ArrayIterator.h" 12 13@class ACBTree; 14@class ArrayIterator; 15 16@interface AMutableDictionary : NSMutableDictionary { 17 18 __strong ACBTree *root; 19 NSInteger nodes_av; 20 NSInteger nodes_inuse; 21 NSInteger nxt_nodeid; 22 NSUInteger count; 23 __strong NSMutableData *data; 24 __strong id *ptrBuffer; 25} 26 27@property (retain) ACBTree *root; 28@property (assign) NSInteger nodes_av; 29@property (assign) NSInteger nodes_inuse; 30@property (assign) NSInteger nxt_nodeid; 31@property (assign, readonly, getter=count) NSUInteger count; 32@property (assign) NSMutableData *data; 33@property (assign) id *ptrBuffer; 34 35+ (AMutableDictionary *) newDictionary; 36+ (AMutableDictionary *) dictionaryWithCapacity; 37 38- (id) init; 39- (id) initWithCapacity:(NSUInteger)numItems; 40- (void) dealloc; 41 42- (BOOL) isEqual:(id)object; 43- (id) objectForKey:(id)aKey; 44- (void) setObject:(id)obj forKey:(id)aKey; 45- (void) removeObjectForKey:(id)aKey; 46 47- (NSUInteger) count; 48 49- (NSArray *) allKeys; 50- (NSArray *) allValues; 51- (ArrayIterator *) keyEnumerator; 52- (ArrayIterator *) objectEnumerator; 53 54- (void) clear; 55- (void) removeAllObjects; 56- (NSInteger) nextNodeId; 57- (NSArray *) toKeyArray; 58- (NSArray *) toValueArray; 59 60@end 61