diff -r 000000000000 -r 5cab3034d3a1 IntegerArray.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IntegerArray.m Wed Sep 02 08:41:25 2009 -0700 @@ -0,0 +1,53 @@ +// +// IntegerArray.m +// Cloudy +// +// Created by Jens Alfke on 6/23/08. +// Copyright 2008 Jens Alfke. All rights reserved. +// + +#import "IntegerArray.h" + + +@implementation IntegerArray + +- (id) init +{ + self = [super init]; + if (self != nil) { + _storage = [[NSMutableData alloc] initWithCapacity: 10*sizeof(SInt32)]; + } + return self; +} + +- (void) dealloc +{ + [_storage release]; + [super dealloc]; +} + + + +- (NSUInteger)count {return _count;} +- (const SInt32*) allIntegers {return _integers;} + +- (SInt32) integerAtIndex: (NSUInteger)index +{ + Assert(index<_count); + return _integers[index]; +} + +- (void) setInteger: (SInt32)value atIndex: (NSUInteger)index +{ + Assert(index<_count); + _integers[index] = value; +} + +- (void) addInteger: (SInt32)value +{ + [_storage appendBytes: &value length: sizeof(value)]; + _count++; + _integers = [_storage mutableBytes]; +} + +@end