author | Olivier Scherler <oscherler@femto-byte.com> |
Tue May 12 14:38:30 2009 +0200 (2009-05-12) | |
changeset 30 | 2befbe36c746 |
permissions | -rw-r--r-- |
jens@15 | 1 |
// |
jens@15 | 2 |
// IntegerArray.m |
jens@15 | 3 |
// Cloudy |
jens@15 | 4 |
// |
jens@15 | 5 |
// Created by Jens Alfke on 6/23/08. |
jens@15 | 6 |
// Copyright 2008 Jens Alfke. All rights reserved. |
jens@15 | 7 |
// |
jens@15 | 8 |
|
jens@15 | 9 |
#import "IntegerArray.h" |
jens@15 | 10 |
|
jens@15 | 11 |
|
jens@15 | 12 |
@implementation IntegerArray |
jens@15 | 13 |
|
jens@15 | 14 |
- (id) init |
jens@15 | 15 |
{ |
jens@15 | 16 |
self = [super init]; |
jens@15 | 17 |
if (self != nil) { |
jens@15 | 18 |
_storage = [[NSMutableData alloc] initWithCapacity: 10*sizeof(SInt32)]; |
jens@15 | 19 |
} |
jens@15 | 20 |
return self; |
jens@15 | 21 |
} |
jens@15 | 22 |
|
jens@15 | 23 |
- (void) dealloc |
jens@15 | 24 |
{ |
jens@15 | 25 |
[_storage release]; |
jens@15 | 26 |
[super dealloc]; |
jens@15 | 27 |
} |
jens@15 | 28 |
|
jens@15 | 29 |
|
jens@15 | 30 |
|
jens@15 | 31 |
- (NSUInteger)count {return _count;} |
jens@15 | 32 |
- (const SInt32*) allIntegers {return _integers;} |
jens@15 | 33 |
|
jens@15 | 34 |
- (SInt32) integerAtIndex: (NSUInteger)index |
jens@15 | 35 |
{ |
jens@15 | 36 |
Assert(index<_count); |
jens@15 | 37 |
return _integers[index]; |
jens@15 | 38 |
} |
jens@15 | 39 |
|
jens@15 | 40 |
- (void) setInteger: (SInt32)value atIndex: (NSUInteger)index |
jens@15 | 41 |
{ |
jens@15 | 42 |
Assert(index<_count); |
jens@15 | 43 |
_integers[index] = value; |
jens@15 | 44 |
} |
jens@15 | 45 |
|
jens@15 | 46 |
- (void) addInteger: (SInt32)value |
jens@15 | 47 |
{ |
jens@15 | 48 |
[_storage appendBytes: &value length: sizeof(value)]; |
jens@15 | 49 |
_count++; |
jens@15 | 50 |
_integers = [_storage mutableBytes]; |
jens@15 | 51 |
} |
jens@15 | 52 |
|
jens@15 | 53 |
@end |