HH\Vector::toImmVector

Returns an immutable copy (ImmVector) of the current Vector

Description

public function toImmVector(): ImmVector<Tv>

Return Values

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"
}