---
name: "IntArray"
section: "3poc"
platform: "linux"
package: "objc-poc"
version: "3.1.26-2"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/IntArray/3poc"
---

# IntArray(3poc)

Portable Object Compiler IntArray class

## NAME

IntArray - Portable Object Compiler IntArray class

## 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**

\* new\
 \* new:\
 \* with:\
 \* copy\
 \* deepCopy\
 \* free

**Interrogation**

\* size\
 \* intAt:\
 \* intAt:put:

**Resizing**

\* capacity\
 \* capacity:\
 \* packContents

**Printing**

\* printOn:

**Archiving**

\* fileOutOn:\
 \* fileInFrom:

## 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) *anOffset* **put** :(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.
