Login  |  Packages  |  Support  |  Bugs
Top Level :: Structures :: teds :: 0.5.1

teds 0.5.1

Package Information
Summary Provides extra data structures and iterable/array functionality.
Maintainers Tyson Andre (lead) [details]
License BSD-3-Clause
Description teds (Tentative Extra Data Structures) is a collection of data structures and iterable functionality
Homepage https://github.com/TysonAndre/pecl-teds
Release notes
Version 0.5.1
(stable)
* Add Teds\array_value_first(), Teds\array_value_last()
* Add `Teds\stable_compare($v1, $v2): int` for a stable comparison function of arbitrary values. (see tests/misc/stable_compare.phpt).
Like strcmp, this returns a negative value for less than, and positive for greater than, and 0 for equality.
Note that php's `<` operator is not stable. `'10' < '0a' < '1b' < '9' < '10'`.
stable_compare fixes that by strictly ordering:
`null < false < true < int,float < string < array < object < resource`.
(objects and resources are compared by id, and arrays are compared recursively. Numbers are compared numerically. If an int is equal to a float, then the int is first)
(strings use strcmp)
* Make Deque iteration account for calls to shift/unshift tracking the position of the front of the Deque.
Calls to shift/unshift will do the following:
- Increase/Decrease the value returned by the iterator's key() by the number of elements added/removed to/from the front of the Deque. (`$deque[$iteratorKey] === $iteratorValue` at the time the key and value are returned).
- Repeated calls to shift will cause valid() to return false if the iterator's position ends up before the start of the Deque at the time iteration resumes.
- They will not cause the remaining values to be iterated over more than once or skipped.

[ Latest Tarball ] [ Changelog ] [ View Statistics ]
[ Browse Source ] [ Package Bugs ]

Dependencies for release 0.5.1
PRIVACY POLICY  |  CREDITS
Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 21 17:05:02 2024 UTC
Bandwidth and hardware provided by: pair Networks