Skip to main content

ImmVector

Note

This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information.

ImmVector is an immutable Vector

HHVM provides a native implementation for this class. The PHP class definition below is not actually used at run time; it is simply provided for the typechecker and for developer reference.

An ImmVector cannot be mutated. No elements can be added to it or removed from it, nor can elements be overwritten using assignment (i.e. $c[$k] = $v is not allowed).

$v = Vector {1, 2, 3};
$fv = $v->toImmVector();

construct it with a Traversable:

$a = vec[1, 2, 3];
$fv = new ImmVector($a);

or use the literal syntax:

$fv = ImmVector {1, 2, 3};

Guides

Interface Synopsis

namespace HH;

final class ImmVector implements \ConstVector<Tv> {...}

Public Methods