2017 © Pedro Peláez
 

library collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

image

icecave/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  • Wednesday, October 8, 2014
  • by jmalloc
  • Repository
  • 3 Watchers
  • 73 Stars
  • 54,148 Installations
  • PHP
  • 9 Dependents
  • 0 Suggesters
  • 3 Forks
  • 13 Open issues
  • 20 Versions
  • 4 % Grown

The README.md

Collections

This project has been deprecated by the authors., (*1)

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

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 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 which exposes methods for manipulating both the head and tail of the queue., (*3)

Concepts

  • Collection: A collection is an object that stores other objects (called elements).
  • Mutable Collection: A mutable collection is a collection on which elements can be added and removed.
  • Iterable: Iterable collections allow sequential access to the elements without modifying the collection.
  • Mutable Iterable: An iterable collection that can be modified in place.
  • Sequence: A sequence is a variable-sized collection whose elements are arranged in a strict linear order.
  • Mutable Sequence: A sequence that supports insertion and removal of elements.
  • Random Access Sequence: A sequence that provides access to elements by position.
  • Mutable Random Access Sequence: A sequence that allows insertion & removal of elements by position.
  • Associative Collection: A variable-sized collection that supports efficient retrieval of values based on keys.
  • Mutable Associative Collection: An associative collection that supports insertion and removal of elements.
  • Queued Access: A F/LIFO buffer (ie, stacks and queues).
  • Set: Un-ordered, iterable collection with unique elements.

Collections

  • Vector: A mutable sequence with efficient access by position and iteration.
  • LinkedList: A mutable sequence with efficient addition and removal of elements.
  • Map: Associative collections with efficient access by key.
  • Set: Iterable collections with unique elements.
  • Queue: A first-in/first-out (FIFO) queue of elements.
  • PriorityQueue: A prioritized first-in/first-out (FIFO) queue of elements.
  • Stack: A last-in/first-out (LIFO) stack of elements.

Iterators

Serialization

The provided collection types support serialization, so long as the elements contained within the collection are also serializable., (*4)

Cloning

The provided collection implementations support cloning. Cloning a collection produces a copy of the collection containing the same elements. The elements themselves are not cloned., (*5)

The Versions

08/10 2014

dev-develop

dev-develop https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

05/03 2014

dev-master

9999999-dev https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

05/03 2014

1.1.0

1.1.0.0 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

04/03 2014

dev-release/1.1.0

dev-release/1.1.0 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

04/03 2014

dev-feature/perf

dev-feature/perf https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

17/01 2014

1.0.0

1.0.0.0 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

20/10 2013

dev-feature/table

dev-feature/table https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

20/10 2013

1.0.0-alpha.1

1.0.0.0-alpha1 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

23/09 2013

0.8.0

0.8.0.0 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

21/09 2013

0.7.1

0.7.1.0 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

25/08 2013

0.7.0

0.7.0.0 https://github.com/IcecaveStudios/collections

A PHP collection library loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

28/02 2013

dev-feature/pimpl

dev-feature/pimpl https://github.com/IcecaveStudios/collections

A set of PHP collection types loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

26/02 2013

0.6.0

0.6.0.0 https://github.com/IcecaveStudios/collections

A set of PHP collection types loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

26/02 2013

dev-feature/type-check

dev-feature/type-check https://github.com/IcecaveStudios/collections

A set of PHP collection types loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

08/02 2013

0.5.1

0.5.1.0 https://github.com/IcecaveStudios/collections

A set of PHP collection types loosely inspired by the .NET runtime and the C++ STL.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

14/01 2013

0.5.0

0.5.0.0 https://github.com/IcecaveStudios/collections

PHP collections without leaky abstractions.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

12/01 2013

0.4.0

0.4.0.0 https://github.com/IcecaveStudios/collections

PHP collections without leaky abstractions.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

11/01 2013

0.3.0

0.3.0.0 https://github.com/IcecaveStudios/collections

PHP collections without leaky abstractions.

  Sources   Download

MIT

The Requires

 

The Development Requires

stack container collection array queue sequence hash map

10/01 2013

0.2.0

0.2.0.0 https://github.com/IcecaveStudios/collections

PHP collections without leaky abstractions.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

stack container collection array queue sequence hash map

10/01 2013

0.1.0

0.1.0.0 https://github.com/IcecaveStudios/collections

PHP collections without leaky abstractions.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

stack container collection array queue sequence hash map