List

Use to manage dynamic arrays that frequently change lengths

Provides more functionality for arrays, like searching in arrays, removing elements...

Constructors

this
this(uinteger extraCount)

constructor

Members

Functions

add
void add(T dat)

appends an element to the list

addArray
void addArray(T[] dat)

appends an array to the list

clear
void clear()

empties the list

indexOf
integer indexOf(T dat, integer i)

Returns index of the first matching element. -1 if not found

insert
void insert(uinteger index, T[] dat)

Inserts an array into this list

insert
void insert(uinteger index, T dat)

Inserts an element into this list

loadArray
void loadArray(T[] newList)

Loads array into this list

read
T read(uinteger index)

Reads an element at an index

readLast
T readLast()

Reads the last element in list.

readLast
T[] readLast(uinteger count)

returns last elements in list. number of elements to return is specified in count

readRange
T[] readRange(uinteger index, uinteger i2)

Read a slice from the list.

remove
void remove(uinteger index, uinteger count)

Removes last elements(s) starting from an index; number of elements to remove is in count

removeLast
void removeLast(uinteger count)

Removes last elements(s); number of elements to remove is in count

saveFile
void saveFile(string s, T sp)

Writes the list to a file.

set
void set(uinteger index, T dat)

Changes the value of element at an index.

shrink
void shrink(uinteger newSize)

shrinks the size of the list, removing last elements.

toArray
T[] toArray()

Exports this list into a array

Properties

length
integer length [@property getter]

length of the list

Examples

Unittest for List

List!ubyte list = new List!ubyte;
//`List.insert` and `List.add` and `List.toArray`
list.add(0);
list.add(1);
list.insert(1, 2);
assert(list.toArray() == [0, 2, 1]);
//`List.indexOf`
assert(list.indexOf(1) == 2);
//`List.clear`
list.clear;
assert(list.length == 0);
//`List.loadArray`
list.loadArray([0, 1, 2, 3]);
assert(list.length == 4);
assert(list.indexOf(3) == 3);
//`List.addArray`
list.addArray([4, 5, 6, 7, 8]);
assert(list.length == 9);
//`List.set` and `List.read`
list.set(0, 1);
assert(list.read(0) == 1);
//`List.readLast`
assert(list.readLast() == 8);
assert(list.readLast(2) == [7, 8]);
//`List.readRange`
assert(list.readRange(0, 2) == [1, 1]);
//`List.remove`
list.remove(0, 2);
assert(list.read(0) == 2);
//`List.removeLast`
list.removeLast(2);
assert(list.readLast() == 6);

destroy(list);

Meta