intarray Specification Sheet


Portable Object Compiler (c) 1998. All Rights Reserved.

IntArray

Inherits from: Array

Class Description

IntArray instances are used to hold regular, small, C integers (of type int). This class is somewhat similar to String, the difference being that a String is an Array of bytes, while this class provides a somewhat similar API to strings of int.

Method types

Creation

Interrogation

Resizing

Printing

Archiving

Methods

new

+new
Creates an instance whose value is set to the empty array.

new:

+new:(unsigned)n
Creates an instance of n zeroes.

with:

+with:(int)nArgs,...
Creates an instance of nArgs objects, using a variable number of int arguments.

id myArray = [IntArray with:3,0,1,2];

copy

-copy
Returns a copy of the receiver with its internal C array copied as well.

See also: - strCopy

deepCopy

-deepCopy
For this class, this method acts as copy.

free

-free
Frees the receiver and its internal C array as well.

size

- (unsigned)size
Returns the number of integers in the array. For this class, size is equivalent to capacity.

intAt:

- (int)intAt:(unsigned)anOffset
Returns the integer at anOffset or generates an error if anOffset is greater than the length of the C array.

intAt:put:

- (int)intAt:(unsigned)anOffsetput:(int)anInt
Replaces the integer at anOffset with anInt and returns the old integer which was in that location. Generates an out of bounds exception if anOffset is greater than the length of the array.

capacity

- (unsigned)capacity
Returns the number of integers in the array. For this class, capacity is equivalent to size.

capacity:

-capacity:(unsigned)nSlots
Changes the capacity to nSlots. If nSlots is larger than the current capacity, the memory added at the end will be zero-filled. If nSlots is less than the current capacity, the array is truncated.

packContents

-packContents
Removes zero elements while preserving the order of elements in the IntArray. Used to eliminate the 'hole' left by a at:put: message with a zero argument.

printOn:

-printOn:(IOD)aFile
Prints the array to aFile without appending a newline. Returns the receiver.

fileOutOn:

-fileOutOn:aFiler
Writes the array on aFiler. Returns the receiver.

fileInFrom:

-fileInFrom:aFiler
Reads a array object from aFiler. Returns the receiver.