This repository has been archived by the owner on May 28, 2019. It is now read-only.
Releases: icecave/collections
Releases · icecave/collections
Version 1.1.0
- [FIXED]
Collection::getIterator()
now correctly resolves nestedIteratorAggregate
iterators - [NEW] Added
Set::pop()
andMap::pop()
- [IMPROVED]
LinkedList
is now implemented as a doubly-linked-list, the original implementation is available asSinglyLinkedList
- [IMPROVED] Updated autoloader to PSR-4
Version 1.0.0
- Stable release (no API changes since 1.0.0-alpha.1).
Version 1.0.0-alpha.1
- [BC] Removed
HashMap
andHashSet
Version 0.8.0
- [BC] Changed
Vector
,Map
,HashMap
andLinkedList
to implementIteratorAggregate
instead ofIterator
to prevent issues with nested iteration - [NEW] Added
Collection::trySize()
Version 0.7.1
- [FIXED] Fixed issue with
Vector::compare()
whereby equal vectors with differing internal array sizes were not considered equal
Version 0.7.0
This release includes numerous naming changes to improve consistency across the project. Please be aware that some new methods and classes have been added with the same name as existing methods which have been renamed.
- [BC] The
mbstring
extension is now required - [BC] Renamed
MutableAssociativeInterface::merge()
tomergeInPlace()
- [BC] Renamed
AssociativeInterface::combine()
tomerge()
- [BC] Renamed
MutableIterableInterface::filter()
tofilterInPlace()
- [BC] Renamed
IterableInterface::filtered()
tofilter()
- [BC] Renamed
MutableSequenceInterface::sort()
tosortInPlace()
- [BC] Renamed
MutableSequenceInterface::reverse()
toreverseInPlace()
- [BC] Renamed
SequenceInterface::sorted()
tosort()
- [BC] Renamed
SequenceInterface::reverse()
toreversed()
- [BC] Moved
AssociativeKeyGenerator
intoIcecave\Collections\Detail
namespace (it is not part of the public API) - [BC] Added begin index parameter to
RandomAccessInterface::indexOfLast()
andfindLast()
- [BC] Swapped the order of parameters to
PriorityQueue::__construct()
- [BC] The
Map
class has been renamed toHashMap
- [BC] The
Set
class has been renamed toHashSet
- [BC] Renamed
Set::isEqual()
toSet::isEqualSet()
- [BC] All set-specific operations (union, diff, etc) can now only operate on sets of the same type and hash/comparator function
- [BC] Renamed
Set::isStrictSuperSet()
andisStrictSubSet()
toisProperSuperSet()
andisProperSubSet()
, respectively - [FIXED] Fixed issue that prevented pushing elements into a
PriorityQueue
with an explicit priority that is weakly equivalent to null (eg, 0) - [FIXED] Fixed issues with
Vector::filter()
andjoin()
whereby additional null values were added to the collection - [FIXED] Fixed several issues with
Vector
wherebycount()
is called on iterable arguments that are not necessarily countable - [NEW]
Collection
class provides collection type agnostic operations for generic programming - [NEW] All collections now implement
ExtendedComparableInterface
from Icecave\Parity - [NEW] Added
Map
, a comparator based associative container - [NEW] Added
Set
, a comparator based set container - [NEW] Added
SetInterface
, which addsisIntersecting()
,addMany()
,removeMany()
,symmetricDiff()
andsymmetricDiffInPlace()
- [NEW] Added an iterator traits system (see
Collection::iteratorTraits
) - [NEW] Added
create()
static method to each collection for constructing from elements as variable arguments - [NEW] Added
MutableRandomAccessInterface::insertRange()
- [IMPROVED] Prioritizer parameter to
PriorityQueue::__construct()
now defaults to the identity function - [IMPROVED] Added optional end index parameter to
RandomAccessInterface::indexOf()
andfind()
- [IMPROVED]
Vector
now implementsSeekableIterator
Version 0.6.0
- [NEW] Added
IterableInterface::partition()
,each()
,any()
andall()
- [FIXED] Fixed issue setting/returning previous element in
Map::replace()
andtryReplace()
- [FIXED]
Set
iteration now produces an sequential integer key
Version 0.5.1
- [FIXED]
Map
andSet
collections now retain custom hash function when serializing
Version 0.5.0
- [NEW] All collection types are now serializable
- [NEW] Added
Set::isEqual()
,isSuperset()
,isSubset()
,isStrictSuperset()
andisStrictSubset()
Version 0.4.0
- [NEW] All collection types are now clonable
- [NEW] Added
RandomAccessInterface::indexOfLast()
,find()
andfindLast()
- [IMPROVED]
LinkedList::sort()
now uses a merge sort instead of converting to a native array