Clownfish::Vector - Variable-sized array.
my $vector = Clownfish::Vector->new; $vector->store($tick, $value); my $value = $vector->fetch($tick);
my $vector = Clownfish::Vector->new( capacity => $capacity # default: 0 );
Return a new Vector.
$vector->push($element); $vector->push(); # default: undef
Push an item onto the end of a Vector.
$vector->push_all($other);
Push all the elements of another Vector onto the end of this one.
my $obj = $vector->pop();
Pop an item off of the end of a Vector.
Returns: the element or undef if the Vector is empty.
$vector->insert( tick => $tick # required element => $element # default: undef );
Insert an element at tick
moving the following elements.
$vector->insert_all( tick => $tick # required other => $other # required );
Inserts elements from other
vector at tick
moving the following elements.
my $obj = $vector->fetch($tick);
Fetch the element at tick
.
Returns: the element or undef if tick
is out of bounds.
$vector->store($tick, $elem)
Store an element at index tick
,
possibly displacing an existing element.
my $obj = $vector->delete($tick);
Replace an element in the Vector with undef and return it.
Returns: the element stored at tick
or undef if tick
is out of bounds.
$vector->excise( offset => $offset # required length => $length # required );
Remove length
elements from the Vector,
starting at offset
.
Move elements over to fill in the gap.
my $arrayref = $vector->clone();
Clone the Vector but merely increment the refcounts of its elements rather than clone them.
$vector->sort();
Sort the Vector. Sort order is guaranteed to be stable: the relative order of elements which compare as equal will not change.
$vector->resize($size);
Set the size for the Vector. If the new size is larger than the current size, grow the object to accommodate undef elements; if smaller than the current size, decrement and discard truncated elements.
$vector->clear();
Empty the Vector.
my $int = $vector->get_size();
Return the size of the Vector.
my $arrayref = $vector->slice( offset => $offset # required length => $length # required );
Return a slice of the Vector consisting of elements from a contiguous range. If the specified range is out of bounds, return a slice with fewer elements – potentially none.
Clownfish::Vector isa Clownfish::Obj.
Copyright © 2010-2015 The Apache Software Foundation, Licensed under the
Apache License, Version 2.0.
Apache Lucy, Lucy, Apache, the Apache feather logo, and the Apache Lucy project logo are trademarks of The
Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
respective owners.