Skip to content
This repository has been archived by the owner on May 28, 2019. It is now read-only.

Commit

Permalink
Merge branch 'release/1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
jmalloc committed Jan 17, 2014
2 parents ffb10e0 + cc0e797 commit 666a9d9
Show file tree
Hide file tree
Showing 52 changed files with 135 additions and 8,193 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Collections Changelog

### 1.0.0 (2014-01-17)

* Stable release (no API changes since 1.0.0-alpha.1).

### 1.0.0-alpha.1 (2013-10-20)

* **[BC]** Removed `HashMap` and `HashSet`
Expand Down
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,21 @@
[![Test Coverage]](https://coveralls.io/r/IcecaveStudios/collections?branch=develop)
[![SemVer]](http://semver.org)

**Collections** provides a set of collection types loosely inspired by the .NET runtime and the C++ standard template library.

PHP has long been lacking formal, performant collection types. The addition of the heap-centric collections to the SPL
has gone some way to addressing this problem but has fallen short in some regards. For example, [SplDoublyLinkedList](http://www.php.net/manual/en/class.spldoublylinkedlist.php)
does not expose some of the operations that linked lists are designed to solve efficiently, such as insertion and
deletion operations in the middle of the collection. There are also several broken abstractions. One example is [SplQueue](http://php.net/manual/en/class.splqueue.php)
which exposes methods for manipulating both the head and tail of the queue.
**Collections** provides a set of collection types loosely inspired by the .NET runtime and the C++ standard template
library.

* Install via [Composer](http://getcomposer.org) package [icecave/collections](https://packagist.org/packages/icecave/collections)
* Read the [API documentation](http://icecavestudios.github.io/collections/artifacts/documentation/api/)

## Rationale

PHP has long been lacking formal, performant collection types. The addition of the heap-centric collections to the SPL
has gone some way to addressing this problem but has fallen short in some regards. For example,
[SplDoublyLinkedList](http://www.php.net/manual/en/class.spldoublylinkedlist.php) does not expose some of the operations
that linked lists are designed to solve efficiently, such as insertion and deletion operations in the middle of the
collection. There are also several broken abstractions. One example is [SplQueue](http://php.net/manual/en/class.splqueue.php)
which exposes methods for manipulating both the head and tail of the queue.

## Concepts

* [Collection](src/Icecave/Collections/CollectionInterface.php): A collection is an object that stores other objects (called elements).
Expand Down Expand Up @@ -57,6 +61,6 @@ The provided collection implementations support [cloning](http://php.net/manual/
collection produces a copy of the collection containing the same elements. The elements themselves are not cloned.

<!-- references -->
[Build Status]: https://travis-ci.org/IcecaveStudios/collections.png?branch=develop
[Test Coverage]: https://coveralls.io/repos/IcecaveStudios/collections/badge.png?branch=develop
[SemVer]: http://calm-shore-6115.herokuapp.com/?label=semver&value=1.0.0-alpha.1&color=yellow
[Build Status]: http://b.adge.me/travis/IcecaveStudios/collections/develop.svg
[Test Coverage]: http://b.adge.me/coveralls/IcecaveStudios/collections/develop.svg
[SemVer]: http://b.adge.me/:semver-1.0.0-green.svg
13 changes: 2 additions & 11 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,17 @@
"require": {
"php": ">=5.3",
"ext-mbstring": "*",
"icecave/parity": "~1@dev",
"icecave/parity": "~1",
"icecave/repr": "~1"
},
"require-dev": {
"eloquent/liberator": "~1",
"ezzatron/phpunit-extensions" : "~1",
"eloquent/typhoon": "~0.9.0",
"icecave/archer": "~1"
},
"autoload": {
"psr-0": {
"Icecave\\Collections": "src",
"Icecave\\Collections\\TypeCheck": "src-typhoon"
}
},
"extra": {
"typhoon": {
"output-path": "src-typhoon",
"validator-namespace": "Icecave\\Collections\\TypeCheck",
"use-native-callable": false
"Icecave\\Collections": "src"
}
}
}
Loading

0 comments on commit 666a9d9

Please sign in to comment.