Php/docs/class.ds-set

From Get docs

(No version information available, might only be in Git)

Introduction

A Set is a sequence of unique values. This implementation uses the same hash table as Ds\Map, where values are used as keys and the mapped value is ignored.


Strengths

  • Values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Automatically frees allocated memory when its size drops low enough.
  • add(), remove() and contains() are all O(1).


Weaknesses

  • Doesn’t support push(), pop(), insert(), shift(), or unshift().
  • get() is O(n) if there are deleted values in the buffer before the accessed index, O(1) otherwise.


Class synopsis


Ds\Set implements Ds\Collection , ArrayAccess {

/* Constants */

const int MIN_CAPACITY = 16

/* Methods */

public add ( mixed ...$values ) : void

public allocate ( int $capacity ) : void

public capacity ( ) : int

public clear ( ) : void

public contains ( mixed ...$values ) : bool

public copy ( ) : Ds\Set

public diff ( Ds\Set $set ) : Ds\Set

public filter ([ callable $callback ] ) : Ds\Set

public first ( ) : mixed

public get ( int $index ) : mixed

public intersect ( Ds\Set $set ) : Ds\Set

public isEmpty ( ) : bool

public join ([ string $glue ] ) : string

public last ( ) : mixed

public merge ( mixed $values ) : Ds\Set

public reduce ( callable $callback [, mixed $initial ] ) : mixed

public remove ( mixed ...$values ) : void

public reverse ( ) : void

public reversed ( ) : Ds\Set

public slice ( int $index [, int $length ] ) : Ds\Set

public sort ([ callable $comparator ] ) : void

public sorted ([ callable $comparator ] ) : Ds\Set

public sum ( ) : int|float

public toArray ( ) : array

public union ( Ds\Set $set ) : Ds\Set

public xor ( Ds\Set $set ) : Ds\Set

}

Predefined Constants

Ds\Set::MIN_CAPACITY


Changelog

Version Description
PECL ds 1.3.0 The class now implements ArrayAccess.


Table of Contents