teds 0.3.0

teds extension


teds (Tentative Extra Data Structures) is a collection of data structures and iterable functionality

License: BSD-3-Clause

Changes

* Backwards incompatible change: Change `Vector::indexOf` return type from `int|false` to `?int` (and all other `indexOf*` methods in other data structures)
* Backwards incompatible change: Change `valueAt`/`setValueAt` to get/set in Deque, Vector, and ImmutableSequence
* Add optional parameter `$value = null` to `Vector::setSize()` to allow overriding the value used for padding when lengthening an array.
* Change exception handling for sizes/capacities that are definitely too large to allocate.
* Make Vector::push() variadic and accept 0 or more arguments, like `array_push` does.
* Reclaim unused memory in Deque when roughly a quarter or less of the internal buffer is used.
* Optimize performance of Deque, always use powers of 2 for the capacity of Deque to speed up reads/writes.