Home | History | Annotate | Download | only in Framework
      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