HH\Vector::toImmVector

Returns an immutable copy (ImmVector) of the current Vector

Description

public function toImmVector(): ImmVector<Tv>;

Return Values

  • ImmVector<Tv> - A Vector that is an immutable copy of the current Vector.

Examples

This example shows that toImmVector returns an immutable copy of the Vector. Mutating the original Vector doesn't affect the immutable copy.

<?hh

namespace Hack\UserDocumentation\API\Examples\Vector\ToImmVector;

$v = Vector {'red', 'green', 'blue', 'yellow'};

function expects_immutable(ImmVector $iv): void {
  \var_dump($iv);
}

// Get a deep, immutable copy of $v
$immutable_v = $v->immutable();

// Add a color to the original Vector $v
$v->add('purple');

expects_immutable($immutable_v);
Output
object(HH\ImmVector)#2 (4) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(6) "yellow"
}