AMutableDictionary.h revision 324c4644fee44b9898524c09511bd33c3f12e2df
164aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//
264aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//  AMutableDictionary.h
364aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//  ST4
464aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//
564aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//  Created by Alan Condit on 4/18/11.
664aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//  Copyright 2011 Alan Condit. All rights reserved.
764aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com//
864aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com
964aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com#import <Foundation/Foundation.h>
1064aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com#import "ACBTree.h"
116d3fe022d68fd6dd32c0fab30e24fa5a4f048946bsalomon#import "ArrayIterator.h"
125c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org
135c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@class ACBTree;
14fd03d4a829efe2d77a712fd991927c55f59a2ffecommit-bot@chromium.org@class ArrayIterator;
1532184d81629e39809bb9e915286d8fe971a8ed68commit-bot@chromium.org
1664aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com@interface AMutableDictionary : NSMutableDictionary {
176d3fe022d68fd6dd32c0fab30e24fa5a4f048946bsalomon
1864aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com    __strong ACBTree  *root;
197fa18762e0ab64c3473df3aab0c2bfd6fabd8831robertphillips@google.com    NSInteger nodes_av;
207fa18762e0ab64c3473df3aab0c2bfd6fabd8831robertphillips@google.com    NSInteger nodes_inuse;
21b85a0aab6905af8b329539b7573a7555b727d5e5cdalton    NSInteger nxt_nodeid;
22b85a0aab6905af8b329539b7573a7555b727d5e5cdalton    NSUInteger count;
23b85a0aab6905af8b329539b7573a7555b727d5e5cdalton    __strong NSMutableData *data;
245c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org    __strong id       *ptrBuffer;
2532184d81629e39809bb9e915286d8fe971a8ed68commit-bot@chromium.org}
265c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org
275c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@property (retain) ACBTree  *root;
285c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@property (assign) NSInteger nodes_av;
295c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@property (assign) NSInteger nodes_inuse;
305c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@property (assign) NSInteger nxt_nodeid;
315c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@property (assign, readonly, getter=count) NSUInteger count;
32b85a0aab6905af8b329539b7573a7555b727d5e5cdalton@property (assign) NSMutableData *data;
335c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org@property (assign) id       *ptrBuffer;
345c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org
355c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org+ (AMutableDictionary *) newDictionary;
3632184d81629e39809bb9e915286d8fe971a8ed68commit-bot@chromium.org+ (AMutableDictionary *) dictionaryWithCapacity;
3764aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com
38fd03d4a829efe2d77a712fd991927c55f59a2ffecommit-bot@chromium.org- (id) init;
3964aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com- (id) initWithCapacity:(NSUInteger)numItems;
4032184d81629e39809bb9e915286d8fe971a8ed68commit-bot@chromium.org- (void) dealloc;
4132184d81629e39809bb9e915286d8fe971a8ed68commit-bot@chromium.org
4264aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com- (BOOL) isEqual:(id)object;
435c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org- (id) objectForKey:(id)aKey;
4432184d81629e39809bb9e915286d8fe971a8ed68commit-bot@chromium.org- (void) setObject:(id)obj forKey:(id)aKey;
455c8ee2539b9316b22416a991a1f560ef5cec7957commit-bot@chromium.org- (void) removeObjectForKey:(id)aKey;
4664aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com
4764aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com- (NSUInteger) count;
486d3fe022d68fd6dd32c0fab30e24fa5a4f048946bsalomon
4964aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com- (NSArray *) allKeys;
5064aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com- (NSArray *) allValues;
5164aef2bacd1f5c25ffd9347aabd6265c9b60c0f4bsalomon@google.com- (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