teds 1.1.0

Provides extra data structures and iterable/array functionality.


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

License: BSD-3-Clause

Changes

* Fix ImmutableSequence throwing for ArrayAccess shorthand read syntax.
* Add CachedIterable as an alternative to ImmutableIterable that lazily evaluates Traversable objects passed into the constructor. (e.g. only runs Generators up to the most recently requested offset)
* Change exception type to `Teds\UnsupportedOperationException` in a few places.
* Add `Teds\is_same_array_handle(array $array1, array $array2): bool` for infinite recursion detection when processing arrays.
* Fix memory leak when initializing `Teds\StrictMinHeap`/`Teds\StrictMaxHeap` from Traversables.
* Fix memory leak when constructing collections from Traversable where rewind throws
* Use first/last as method names for getting the first and last method names. Keep bottom/top as aliases to be deprecated later.
* Add first/last helper methods to more collection types
* Optimize implementations of `$map[$x]` array access shorthand in `Teds\Map` implementations.
* Throw for `$map[] = $value` instead of setting the key for null in `Teds\Map` implementations.
* Fix Teds\IntVector and Teds\LowMemoryVector shift implementation for integers
* Add more methods to Teds\BitSet to read/write bytes/integers, convert to/from strings.