//
// AMutableDictionary.h
// ST4
//
// Created by Alan Condit on 4/18/11.
// Copyright 2011 Alan Condit. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ACBTree.h"
#import "ArrayIterator.h"
@class ACBTree;
@class ArrayIterator;
@interface AMutableDictionary : NSMutableDictionary {
__strong ACBTree *root;
NSInteger nodes_av;
NSInteger nodes_inuse;
NSInteger nxt_nodeid;
NSUInteger count;
__strong NSMutableData *data;
__strong id *ptrBuffer;
}
@property (retain) ACBTree *root;
@property (assign) NSInteger nodes_av;
@property (assign) NSInteger nodes_inuse;
@property (assign) NSInteger nxt_nodeid;
@property (assign, readonly, getter=count) NSUInteger count;
@property (assign) NSMutableData *data;
@property (assign) id *ptrBuffer;
+ (AMutableDictionary *) newDictionary;
+ (AMutableDictionary *) dictionaryWithCapacity;
- (id) init;
- (id) initWithCapacity:(NSUInteger)numItems;
- (void) dealloc;
- (BOOL) isEqual:(id)object;
- (id) objectForKey:(id)aKey;
- (void) setObject:(id)obj forKey:(id)aKey;
- (void) removeObjectForKey:(id)aKey;
- (NSUInteger) count;
- (NSArray *) allKeys;
- (NSArray *) allValues;
- (ArrayIterator *) keyEnumerator;
- (ArrayIterator *) objectEnumerator;
- (void) clear;
- (void) removeAllObjects;
- (NSInteger) nextNodeId;
- (NSArray *) toKeyArray;
- (NSArray *) toValueArray;
@end