Skip to content
OFFICIAL SS DOCUMENTATION

SS.Collections 1.1.0

Collections owned generic list, stable-index linked-list, stack, queue, deque, insertion-ordered set/map, checked missing-key/node diagnostics, and nested-matrix APIs
API 1.1.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

No package dependencies declared.

Public API

Public signature
export class Deque<T>(public T[] values)

Parameters: values: T[]


Public signature
export function Deque_count<T>(Deque<T> self) -> int

Parameters: self: Deque<T>


Public signature
export function Deque_peekBack<T>(Deque<T> self) -> T

Parameters: self: Deque<T>


Public signature
export function Deque_peekFront<T>(Deque<T> self) -> T

Parameters: self: Deque<T>


Public signature
export function Deque_popBack<T>(Deque<T> self) -> T

Parameters: self: Deque<T>


Public signature
export function Deque_popFront<T>(Deque<T> self) -> T

Parameters: self: Deque<T>


Public signature
export function Deque_pushBack<T>(Deque<T> self, T value)

Parameters: self: Deque<T>, value: T


Public signature
export function Deque_pushFront<T>(Deque<T> self, T value)

Parameters: self: Deque<T>, value: T


Public signature
export function dequeFrom<T>(T[] values) -> Deque<T>

Parameters: values: T[]


Public signature
export function dequeOf<T>(T first) -> Deque<T>

Parameters: first: T


Public signature
export function dequePopBack<T>(T[] values) -> T

Parameters: values: T[]


Public signature
export function dequePopFront<T>(T[] values) -> T

Parameters: values: T[]


Public signature
export function dequePushBack<T>(T[] values, T value)

Parameters: values: T[], value: T


Public signature
export function dequePushFront<T>(T[] values, T value)

Parameters: values: T[], value: T


Public signature
export function dictionaryGet<K, V>(K[] keys, V[] values, K key) -> V

Parameters: keys: K[], values: V[], key: K


Public signature
export function dictionaryIndex<K>(K[] keys, K key) -> int

Parameters: keys: K[], key: K


Public signature
export function dictionarySet<K, V>(K[] keys, V[] values, K key, V value)

Parameters: keys: K[], values: V[], key: K, value: V


Public signature
export class DoublyLinkedList<T>(public T[] values, public int[] next, public int[] previous, public mutable int head, public mutable int tail, public mutable int count)

Parameters: values: T[], next: int[], previous: int[], head: mutable int, tail: mutable int, count: mutable int


Public signature
export function DoublyLinkedList_append<T>(DoublyLinkedList<T> self, T value)

Parameters: self: DoublyLinkedList<T>, value: T


Public signature
export function DoublyLinkedList_nextNode<T>(DoublyLinkedList<T> self, int node) -> int

Parameters: self: DoublyLinkedList<T>, node: int


Public signature
export function DoublyLinkedList_previousNode<T>(DoublyLinkedList<T> self, int node) -> int

Parameters: self: DoublyLinkedList<T>, node: int


Public signature
export function DoublyLinkedList_remove<T>(DoublyLinkedList<T> self, int node) -> T

Parameters: self: DoublyLinkedList<T>, node: int


Public signature
export function DoublyLinkedList_value<T>(DoublyLinkedList<T> self, int node) -> T

Parameters: self: DoublyLinkedList<T>, node: int


Public signature
export function doublyLinkedListFrom<T>(T[] values) -> DoublyLinkedList<T>

Parameters: values: T[]


Public signature
export function doublyLinkedListOf<T>(T first) -> DoublyLinkedList<T>

Parameters: first: T


Public signature
export function list<T>(T[] values) -> T[]

Parameters: values: T[]


Public signature
export class List<T>(public T[] values)

Parameters: values: T[]


Public signature
export function List_add<T>(List<T> self, T value)

Parameters: self: List<T>, value: T


Public signature
export function List_contains<T>(List<T> self, T value) -> bool

Parameters: self: List<T>, value: T


Public signature
export function List_count<T>(List<T> self) -> int

Parameters: self: List<T>


Public signature
export function List_get<T>(List<T> self, int index) -> T

Parameters: self: List<T>, index: int


Public signature
export function List_insert<T>(List<T> self, int index, T value)

Parameters: self: List<T>, index: int, value: T


Public signature
export function List_removeAt<T>(List<T> self, int index) -> T

Parameters: self: List<T>, index: int


Public signature
export function List_set<T>(List<T> self, int index, T value)

Parameters: self: List<T>, index: int, value: T


Public signature
export function listFrom<T>(T[] values) -> List<T>

Parameters: values: T[]


Public signature
export function listOf<T>(T first) -> List<T>

Parameters: first: T


Public signature
export class Map<K, V>(public K[] keys, public V[] values)

Parameters: keys: K[], values: V[]


Public signature
export function Map_containsKey<K, V>(Map<K, V> self, K key) -> bool

Parameters: self: Map<K,V>, key: K


Public signature
export function Map_count<K, V>(Map<K, V> self) -> int

Parameters: self: Map<K,V>


Public signature
export function Map_get<K, V>(Map<K, V> self, K key) -> V

Parameters: self: Map<K, V>, key: K


Public signature
export function Map_remove<K, V>(Map<K, V> self, K key) -> bool

Parameters: self: Map<K, V>, key: K


Public signature
export function Map_set<K, V>(Map<K, V> self, K key, V value)

Parameters: self: Map<K, V>, key: K, value: V


Public signature
export function mapFrom<K, V>(K[] keys, V[] values) -> Map<K, V>

Parameters: keys: K[], values: V[]


Public signature
export function mapOf<K, V>(K key, V value) -> Map<K, V>

Parameters: key: K, value: V


Public signature
export function matrixGet<T>(T[][] values, int row, int column) -> T

Parameters: values: T[][], row: int, column: int


Public signature
export function matrixSet<T>(T[][] values, int row, int column, T value)

Parameters: values: T[][], row: int, column: int, value: T


Public signature
export class Queue<T>(public T[] values)

Parameters: values: T[]


Public signature
export function Queue_count<T>(Queue<T> self) -> int

Parameters: self: Queue<T>


Public signature
export function Queue_dequeue<T>(Queue<T> self) -> T

Parameters: self: Queue<T>


Public signature
export function Queue_enqueue<T>(Queue<T> self, T value)

Parameters: self: Queue<T>, value: T


Public signature
export function Queue_peek<T>(Queue<T> self) -> T

Parameters: self: Queue<T>


Public signature
export function queueDequeue<T>(T[] values) -> T

Parameters: values: T[]


Public signature
export function queueEnqueue<T>(T[] values, T value)

Parameters: values: T[], value: T


Public signature
export function queueFrom<T>(T[] values) -> Queue<T>

Parameters: values: T[]


Public signature
export function queueOf<T>(T first) -> Queue<T>

Parameters: first: T


Public signature
export class Set<T>(public T[] values)

Parameters: values: T[]


Public signature
export function Set_add<T>(Set<T> self, T value) -> bool

Parameters: self: Set<T>, value: T


Public signature
export function Set_contains<T>(Set<T> self, T value) -> bool

Parameters: self: Set<T>, value: T


Public signature
export function Set_count<T>(Set<T> self) -> int

Parameters: self: Set<T>


Public signature
export function Set_remove<T>(Set<T> self, T value) -> bool

Parameters: self: Set<T>, value: T


Public signature
export function setAdd<T>(T[] values, T value) -> bool

Parameters: values: T[], value: T


Public signature
export function setFrom<T>(T[] values) -> Set<T>

Parameters: values: T[]


Public signature
export function setOf<T>(T first) -> Set<T>

Parameters: first: T


Public signature
export class SinglyLinkedList<T>(public T[] values, public int[] next, public mutable int head, public mutable int tail, public mutable int count)

Parameters: values: T[], next: int[], head: mutable int, tail: mutable int, count: mutable int


Public signature
export function SinglyLinkedList_append<T>(SinglyLinkedList<T> self, T value)

Parameters: self: SinglyLinkedList<T>, value: T


Public signature
export function SinglyLinkedList_nextNode<T>(SinglyLinkedList<T> self, int node) -> int

Parameters: self: SinglyLinkedList<T>, node: int


Public signature
export function SinglyLinkedList_removeAfter<T>(SinglyLinkedList<T> self, int node) -> T

Parameters: self: SinglyLinkedList<T>, node: int


Public signature
export function SinglyLinkedList_removeFirst<T>(SinglyLinkedList<T> self) -> T

Parameters: self: SinglyLinkedList<T>


Public signature
export function SinglyLinkedList_value<T>(SinglyLinkedList<T> self, int node) -> T

Parameters: self: SinglyLinkedList<T>, node: int


Public signature
export function singlyLinkedListFrom<T>(T[] values) -> SinglyLinkedList<T>

Parameters: values: T[]


Public signature
export function singlyLinkedListOf<T>(T first) -> SinglyLinkedList<T>

Parameters: first: T


Public signature
export class Stack<T>(public T[] values)

Parameters: values: T[]


Public signature
export function Stack_count<T>(Stack<T> self) -> int

Parameters: self: Stack<T>


Public signature
export function Stack_peek<T>(Stack<T> self) -> T

Parameters: self: Stack<T>


Public signature
export function Stack_pop<T>(Stack<T> self) -> T

Parameters: self: Stack<T>


Public signature
export function Stack_push<T>(Stack<T> self, T value)

Parameters: self: Stack<T>, value: T


Public signature
export function stackFrom<T>(T[] values) -> Stack<T>

Parameters: values: T[]


Public signature
export function stackOf<T>(T first) -> Stack<T>

Parameters: first: T


Public signature
export function stackPeek<T>(T[] values) -> T

Parameters: values: T[]


Public signature
export function stackPop<T>(T[] values) -> T

Parameters: values: T[]


Public signature
export function stackPush<T>(T[] values, T value)

Parameters: values: T[], value: T


Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.