NAME
SPVM::ByteList - Continuous dynamic byte array
SYNOPSYS
use SPVM::ByteList;
# Create a byte list
my $byte_list = SPVM::ByteList->new;
# Create a byte list with array
my $byte_list = SPVM::ByteList->newa([(byte)1, 2, 3]);
# Get list length
my $length = $byte_list->length;
# Push byte value
$byte_list->push((byte)3);
# Pop byte value.
my $byte_value = $byte_list->pop;
# Unshift byte value.
$byte_list->unshift((byte)3);
# Shift byte value.
my $byte_value = $byte_list->shift;
# Set byte value.
$byte_list->set(2, (byte)3);
# Get byte value.
my $byte_value = $byte_list->get(2);
# Insert byte value
$byte_list->insert(1, 3);
# Remove byte value
my $byte_value = $byte_list->remove(1);
# Convert SPVM::ByteList to byte array.
my $byte_array = $byte_list->to_array;
DESCRIPTION
SPVM::ByteList is continuous dynamic byte array.
CLASS METHODS
new
sub new : SPVM::ByteList ()
Create a new SPVM::ByteList object.
newa
sub newa : SPVM::ByteList ($array : byte[])
Create a new SPVM::ByteList object with specific byte
array.
INSTANCE METHODS
length
sub length : int ()
Get list length.
push
sub push : void ($self : self, $value : byte)
Appending the value to the end of list.
pop
sub pop : byte ($self : self)
Pops and returns the last value of the list, shortening the array by one element If there are no elements in the list, exception occur.
unshift
sub unshift : void ($self : self, $value : byte)
Appending the value to the top of list.
shift
sub shift : byte ($self : self)
Shifts the first value of the list off and returns it, shortening the array by 1 and moving everything down. If there are no elements in the list, exception occur.
set
sub set : void ($self : self, $index : int, $value : byte)
Set the value with index.
get
sub get : byte ($self : self, $index : int)
Get the value with index.
insert
sub insert : void ($self : self, $index : int, $value : byte)
Insert a element to the specific index.
remove
sub remove : byte ($self : self, $index : int)
Remove and return the element which is specified by the index.
to_array
sub to_array : byte[] ($self : self)
Convert SPVM::ByteList to byte array.