Name
SPVM::Array - Array Utilities
Usage
use Array;
# Copy a byte array
{
my $array = [(byte)1, 2, 3];
my $array_copy = Array->copy_byte($array);
}
# Copy a short array
{
my $array = [(short)1, 2, 3];
my $array_copy = Array->copy_short($array);
}
# Copy a int array
{
my $array = [1, 2, 3];
my $array_copy = Array->copy_int($array);
}
# Copy a long array
{
my $array = [(long)1, 2, 3];
my $array_copy = Array->copy_long($array);
}
# Copy a float array
{
my $array = [1.5f, 2.5f, 3.5f];
my $array_copy = Array->copy_float($array);
}
# Copy a double array
{
my $array = [1.5, 2.5, 3.5];
my $array_copy = Array->copy_double($array);
}
# Copy a string array
{
my $array = ["abc", "def", "ghi"]
my $array_copy = Array->copy_string($array);
}
# Check if the two byte arrays equal
{
my $array1 = [(byte)1, 2];
my $array2 = [(byte)1, 2];
my $ret = Array->equals_byte($array1, $array2);
}
# Check if the two short arrays equal
{
my $array1 = [(short)1, 2];
my $array2 = [(short)1, 2];
my $ret = Array->equals_short($array1, $array2);
}
# Check if the two int arrays equal
{
my $array1 = [(int)1, 2];
my $array2 = [(int)1, 2];
my $ret = Array->equals_int($array1, $array2);
}
# Check if the two long arrays equal
{
my $array1 = [(long)1, 2];
my $array2 = [(long)1, 2];
my $ret = Array->equals_long($array1, $array2);
}
# Check if the two float arrays equal
{
my $array1 = [(float)1, 2];
my $array2 = [(float)1, 2];
my $ret = Array->equals_float($array1, $array2);
}
# Check if the two double arrays equal
{
my $array1 = [(double)1, 2];
my $array2 = [(double)1, 2];
my $ret = Array->equals_double($array1, $array2);
}
# Check if the two string arrays equal
{
my $array1 = ["abc", "def"];
my $array2 = ["abc", "def"];
my $ret = Array->equals_string($array1, $array2);
}
# Copy object array
my $array = [(object)Int->new(1), Int->new(2), Int->new(3)];
my $array_copy = Array->copy_object($array, method : object ($obj : object) {
my $int_obj = (Int)$obj;
my $new_int_obj = Int->new($int_obj->value);
return $new_int_obj;
});
Description
Array
provides array utilities.
Class Methods
copy_byte
static method copy_byte : byte[] ($array : byte[], $offset : int = 0, $length : int = -1);
Create a new byte
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_double
static method copy_double : double[] ($array : double[], $offset : int = 0, $length : int = -1);
Create a new double
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
If the array is not defined, return undef.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_float
static method copy_float : float[] ($array : float[], $offset : int = 0, $length : int = -1);
Create a new float
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_int
static method copy_int : int[] ($array : int[], $offset : int = 0, $length : int = -1);
Create a new int
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_long
static method copy_long : long[] ($array : long[], $offset : int = 0, $length : int = -1);
Create a new long
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_object
static method copy_object : object[] ($array : object[], $cloner : Cloner = undef, $offset : int = 0, $legnth : int = -1);
Create a new object array with $length, and clone the elements of the object array from $offset to the position proceeded by $length to the created array.
Each element is cloned by Cloner.
If the cloner is not defined, the address of each element is copied.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_object_address
static method copy_object_address : object[] ($array : object[], $offset : int = 0, $legnth : int = -1);
The alias for the following code using "copy_object".
my $ret = ©_object($array, undef, $offset, $length);
copy_short
static method copy_short : short[] ($array : short[], $offset : int = 0, $length : int = -1);
Create a new short
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_string
static method copy_string : string[] ($array : string[], $offset : int = 0, $length : int = -1);
Create a new string
array with $length, and copy the elements of the string
array using copy
operator from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_string_address
static method copy_string_address : string[] ($array : string[], $offset : int = 0, $length : int = -1);
Create a new string
array with $length, and copy the addresses of the elements of the string
array from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
dump_unsigned_byte
static method dump_unsigned_byte : string ($array : byte[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 8-bit integer.
my $ret = dump $array;
dump_unsigned_int
static method dump_unsigned_int : string ($array : int[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 32-bit integer.
my $ret = dump $array;
dump_unsigned_long
static method dump_unsigned_long : string ($array : long[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 64-bit integer.
my $ret = dump $array;
dump_unsigned_short
static method dump_unsigned_short : string ($array : short[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 16-bit integer.
my $ret = dump $array;
equals_byte
static method equals_byte : int ($array1 : byte[], $array2 : byte[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_double
static method equals_double : int ($array1 : double[], $array2 : double[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_float
static method equals_float : int ($array1 : float[], $array2 : float[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_int
static method equals_int : int ($array1 : int[], $array2 : int[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_long
static method equals_long : int ($array1 : long[], $array2 : long[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_object
static method static method equals_object : int ($array1 : object[], $array2 : object[], $equality_checker : EqualityChecker);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2 using the equality checker, returns 1.
The equality checker is not defined, the address is used to check the equality.
Otherwise return 0.
equals_object_address
static method equals_object_address : int ($array1 : object[], $array2 : object[]);
The alias for the following code using "equals_object".
my $ret = &equals_object($array1, $array2, undef);
equals_short
static method equals_short : int ($array1 : short[], $array2 : short[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_string
static method equals_string : int ($array1 : string[], $array2 : string[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2 using the eq
operator, returns 1.
Otherwise return 0.
equals_string_address
static method equals_string_address : int ($array1 : string[], $array2 : string[]);
The alias for the following code using "equals_object_address".
my $ret = &equals_object_address($array1, $array2);
memcpy_byte
static method memcpy_byte : void ($dest : byte[], $dest_offset : int, $source : byte[], $source_offset : int, $length : int);
Copy the range of the elements of $source byte
array to the range of the elements of $dest byte
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_double
static method memcpy_double : void ($dest : double[], $dest_offset : int, $source : double[], $source_offset : int, $length : int);
Copy the range of the elements of $source double
array to the range of the elements of $dest double
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_float
static method memcpy_float : void ($dest : float[], $dest_offset : int, $source : float[], $source_offset : int, $length : int);
Copy the range of the elements of $source float
array to the range of the elements of $dest float
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_int
static method memcpy_int : void ($dest : int[], $dest_offset : int, $source : int[], $source_offset : int, $length : int);
Copy the range of the elements of $source int
array to the range of the elements of $dest int
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_long
static method memcpy_long : void ($dest : long[], $dest_offset : int, $source : long[], $source_offset : int, $length : int);
Copy the range of the elements of $source long
array to the range of the elements of $dest long
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_object_address
static method memcpy_object_address : void ($dest : object[], $dest_offset : int, $source : object[], $source_offset : int, $length : int);
Copy the range of the elements of $source object array to the range of the elements of $dest object array.
Each address is copied.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_short
static method memcpy_short : void ($dest : short[], $dest_offset : int, $source : short[], $source_offset : int, $length : int);
Copy the range of the elements of $source short
array to the range of the elements of $dest short
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_string_address
static method memcpy_string_address : void ($dest : string[], $dest_offset : int, $source : string[], $source_offset : int, $length : int);
The alias for "memcpy_object_address".
memmove_byte
static method memmove_byte : void ($dest : byte[], $dest_offset : int, $source : byte[], $source_offset : int, $length : int);
The same as "memcpy_byte", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_double
static method memmove_double : void ($dest : double[], $dest_offset : int, $source : double[], $source_offset : int, $length : int);
The same as "memcpy_double", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_float
static method memmove_float : void ($dest : float[], $dest_offset : int, $source : float[], $source_offset : int, $length : int);
The same as "memcpy_float", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_int
static method memmove_int : void ($dest : int[], $dest_offset : int, $source : int[], $source_offset : int, $length : int);
The same as "memcpy_int", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_long
static method memmove_long : void ($dest : long[], $dest_offset : int, $source : long[], $source_offset : int, $length : int);
The same as "memcpy_long", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_object_address
static method memmove_object_address : void ($dest : object[], $dest_offset : int, $source : object[], $source_offset : int, $length : int);
The same as "memcpy_object_address", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_short
static method memmove_short : void ($dest : short[], $dest_offset : int, $source : short[], $source_offset : int, $length : int);
The same as "memcpy_short", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_string_address
static method memmove_string_address : void ($dest : string[], $dest_offset : int, $source : string[], $source_offset : int, $length : int);
The same as the following code using "memmove_object_address".
&memmove_object_address($dest, $dest_offset, $source, $source_offset, $length);
memset_byte
static method memset_byte : void ($array : byte[], $element : int, $offset : int = 0, $length : int = -1);
Set the range of the elements of the byte
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_double
static method memset_double : void ($array : double[], $element : double, $offset : int = 0, $length : int = -1);
Set the range of the elements of the double
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_float
static method memset_float : void ($array : float[], $element : float, $offset : int = 0, $length : int = -1);
Set the range of the elements of the float
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_int
static method memset_int : void ($array : int[], $element : int, $offset : int = 0, $length : int = -1);
Set the range of the elements of the int
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_long
static method memset_long : void ($array : long[], $element : long, $offset : int = 0, $length : int = -1);
Set the range of the elements of the long
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_object
static method memset_object : void ($array : object[], $element : object, $offset : int = 0, $length : int = -1);
Set the range of the elements of the object $array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_short
static method memset_short : void ($array : short[], $element : int, $offset : int = 0, $length : int = -1);
Set the range of the elements of the short
$array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_string
static method memset_string : void ($array : string[], $element : string, $offset : int = 0, $length : int = -1);
The alias for the following code using "memset_object".
&memset_object($dest, $element, $dest_offset, $length);
merge_byte
static method merge_byte : byte[] ($array1 : byte[], $array2 : byte[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_short
static method merge_short : short[] ($array1 : short[], $array2 : short[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_int
static method merge_int : int[] ($array1 : int[], $array2 : int[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_long
static method merge_long : long[] ($array1 : long[], $array2 : long[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_float
static method merge_float : float[] ($array1 : float[], $array2 : float[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_double
static method merge_double : double[] ($array1 : double[], $array2 : double[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_string
static method merge_string : string[] ($array1 : string[], $array2 : string[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_object
static method merge_object : object[] ($array1 : object[], $array2 : object[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
new_proto
static method new_proto : object[] ($proto_array : object[], $length : int);
Create a new object array as the same type as $proto_array with $length.
Exceptions:
$prototype array must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
new_proto_any
static method new_proto_any : object ($proto_array : object, $length : int);
Same as "new_proto" method, but can give $proto_array of the type of a numeric array or a multi-numeric array and the return type is different.
shuffle_object
static method shuffle_object : void ($array : object[], $seed_ref : int*);
Shuffles the array $array in-place given the reference to a seed $seed_ref.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
repeat_string
static method repeat_string : string[] ($strings : string[], $count : int);
Creates a new array that repeats the string $strings $count times, and returns it.
Exceptions:
$strings must be defined. Otherwise an exception is thrown.
$count must be greater than or equal to 0. Otherwise an exception is thrown.
copy_object_with_proto
static method copy_object_with_proto : object[] ($array : object[], $proto : object[], $cloner : Cloner = undef, $offset : int = 0, $length : int = -1);
The same as "copy_object", but can give the prototype array $proto for the copied array.
copy_object_address_with_proto
static method copy_object_address_with_proto : object[] ($array : object[], $proto : object[], $offset : int = 0, $length : int = -1);
The same as "copy_object_address", but can give the prototype array $proto for the copied array.
to_object_array_byte
static method to_object_array_byte : Byte[] ($array : byte[]);
Creates a new Byte array with the same length as the byte array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_short
static method to_object_array_short : Short[] ($array : short[]);
Creates a new Short array with the same length as the short array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_int
static method to_object_array_int : Int[] ($array : int[]);
Creates a new Int array with the same length as the int array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_long
static method to_object_array_long : Long[] ($array : long[]);
Creates a new Long array with the same length as the long array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_float
static method to_object_array_float : Float[] ($array : float[]);
Creates a new Float array with the same length as the float array $array, copies the elements in $array to it, and returns it.
to_object_array_double
static method to_object_array_double : Double[] ($array : double[]);
Creates a new Double array with the same length as the double array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_array_byte
static method to_array_byte : byte[] ($object_array : Byte[]);
Creates a new byte array with the same length as Byte array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_array_short
static method to_array_short : short[] ($object_array : Short[]);
Creates a new short array with the same length as Short> array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_int
static method to_array_int : int[] ($object_array : Int[]
);>
Creates a new int array with the same length as Int array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_long
static method to_array_long : long[] ($object_array : Long[]);
Creates a new long array with the same length as Long array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_float
static method to_array_float : float[] ($object_array : Float[]);
Creates a new float array with the same length as Float array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_double
static method to_array_double : double[] ($object_array : Double[]);
Creates a new double[ array with the same length as Double array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
new_array_proto_element
static method new_array_proto_element : object[] ($proto_element : object, $length : int);
Create a new object array of the type when the prototype element $proto_element are arrayed with the length $length.
Exceptions:
The prototype element $proto_element must be defined. Otherwise an exception is thrown.
The length $length must be greater than or equal to 0. Otherwise an exception is thrown.
equals
static method equals : int ($array1 : object, $array2 : object, $shallow : int = 0);
Checks if the array $array1 and the array $array2 are equal.
The type of $array1 and $array2 must be a numeric array type, a multi-numeric array type, string array type, or an object array type.
Implementation:
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If the type of $array1 is not equal to the type of $array2, returns 0.
If the type of $array1 is a numeric array type or a muti-numeric type and every element of $array1 are equal to the corresponding index of element of $array2, returns 1, otherwise returns 0.
If the type of $array1 is string array type and $shallow is a false value, returns the return value of "equals_string" method.
If the type of $array1 is string array type and $shallow is a true value, returns the return value of "equals_string_address" method.
If the type of $array1 is an object array type and $shallow is a false value, returns the return value of "equals_object" method given EqualityChecker#default_equality_checker.
If the type of $array1 is an object array type and $shallow is a true value, returns the return value of "equals_object_address" method.
Exceptions:
The type of the array $array1 must be an array type. Otherwise, an exception is thrown.
The type of the array $array2 must be an array type. Otherwise, an exception is thrown.
The type of the $array must be a numeric array type, a multi-numeric array type, string array type, or an object array type. Otherwise, an exception is thrown.
copy_any_numeric
static method copy_any_numeric : object ($array : object, $offset : int = 0, $length : int = -1);
Create a new array of the same type of $array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If $length is less than 0, it is the length of $array minus $offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
The type of the array $array must be a numeric array type or a multi-numeric type.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
shuffle_any_numeric
static method shuffle_any_numeric : void ($array : object, $seed_ref : int*);
Shuffles the array $array in-place given the reference to a seed $seed_ref.
The type of $array must be a numeric type or a multi-numeric type.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
The type of the array $array must be a numeric type or a multi-numeric type. Otherwise an exception is thrown.
shuffle
static method shuffle : void ($array : object, $seed_ref : int*);
Shuffles the array $array in-place given the reference to a seed $seed_ref.
The type of $array must be an object type, a numeric type or a multi-numeric type.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
The type of $array must be an object type, a numeric type or a multi-numeric type.
repeat
static method repeat : object ($array : obejct, $count : int);
Retruns a new array that repeats the array $array $count times.
Exceptions:
The array $array must be defined. Otherwise an exception is thrown.
The type of the array $array must be an array type. Otherwise an exception is thrown.
The repeat count $count must be a non-negative integer. Otherwise an exception is thrown.
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License