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