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.
capacity - Initial number of elements that the object will be able to hold before reallocation.
$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.
tick
$vector->insert_all( tick => $tick, # required other => $other, # required );
Inserts elements from other vector at tick moving the following elements.
other
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.
length
offset
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.
offset - The index of the element to start at.
length - The maximum number of elements to slice.
Clownfish::Vector isa Clownfish::Obj.
To install Clownfish, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Clownfish
CPAN shell
perl -MCPAN -e shell install Clownfish
For more information on module installation, please visit the detailed CPAN module installation guide.