+
Point of view
All features
class ARRAY2 [E_]
Summary
Class invariant
Overview
creation features
features
Creation / modification:
Resizing:
Implementation of others feature from COLLECTION2:
 Looking and comparison:
Only for ARRAY2:
Garbage collector tuning (very low-level):
  • mark_native_arrays
    For performance reasons, the unused area of storage is always left as it is when some elements are removed.
Implement manifest generic creation (very low-level):
Indexing:
Index validity:
Counting:
Looking and comparison:
  • is_equal (other: ARRAY2 [E_]): BOOLEAN
    Do both collections have the same lower1, lower2, upper1 and upper2, and items?
  • is_equal_map (other: ARRAY2 [E_]): BOOLEAN
    Do both collections have the same lower1, lower2, upper1 and upper2, and items?
Printing:
  • fill_tagged_out_memory
    Append a viewable information in tagged_out_memory in order to affect the behavior of out, tagged_out, etc.
Miscellaneous features:
Implement manifest generic creation:
  • test (e1: E_, e2: E_): BOOLEAN
    In order to avoid run-time type errors, feature safe_equal calls is_equal only when e1 and e2 have exactly the same dynamic type.
  • safe_equal (e1: E_, e2: E_): BOOLEAN
    In order to avoid run-time type errors, feature safe_equal calls is_equal only when e1 and e2 have exactly the same dynamic type.
lower1: INTEGER_32
writable attribute
Lower index bounds.
lower2: INTEGER_32
writable attribute
Lower index bounds.
upper1: INTEGER_32
writable attribute
Upper index bounds.
upper2: INTEGER_32
writable attribute
Upper index bounds.
storage: NATIVE_ARRAY[E_]
writable attribute
To store elements line by line.
capacity: INTEGER_32
writable attribute
Number of elements in storage.
make (line_min: INTEGER_32, line_max: INTEGER_32, column_min: INTEGER_32, column_max: INTEGER_32)
effective procedure
Reset all bounds line_minimum / line_maximum / column_minimum and column_maximum using arguments as new values.
from_collection2 (model: COLLECTION2[E_])
effective procedure
 Uses model to initialize Current.
from_collection (contents: COLLECTION[E_], line_min: INTEGER_32, line_max: INTEGER_32, column_min: INTEGER_32, column_max: INTEGER_32)
effective procedure
 Reset all bounds using line_min, line_max, column_min,
 and column_max .
 Copy all elements of contents, line by line into Current.
from_model (model: COLLECTION[COLLECTION[E_]])
effective procedure
The model is used to fill line by line the COLLECTION2.
resize (line_min: INTEGER_32, line_max: INTEGER_32, column_min: INTEGER_32, column_max: INTEGER_32)
effective procedure
Resize bounds of the Current array
item (line: INTEGER_32, column: INTEGER_32): E_
effective function
put (element: E_, line: INTEGER_32, column: INTEGER_32)
effective procedure
count1: INTEGER_32
effective function
Size of the first dimension.
count2: INTEGER_32
effective function
Size of the second dimension.
count: INTEGER_32
effective function
Total number of elements.
force (x: E_, line: INTEGER_32, column: INTEGER_32)
effective procedure
Put element at position (line,column).
set_all_with (element: E_)
effective procedure
Set all item with value v.
replace_all (old_value: E_, new_value: E_)
effective procedure
Replace all occurrences of the element old_value by new_value using is_equal for comparison.
fast_replace_all (old_value: E_, new_value: E_)
effective procedure
Replace all occurrences of the element old_value by new_value using operator = for comparison.
sub_collection2 (line_min: INTEGER_32, line_max: INTEGER_32, column_min: INTEGER_32, column_max: INTEGER_32): ARRAY2 [E_]
effective function
Create a new object using selected area of Current.
occurrences (elt: E_): INTEGER_32
effective function
Number of occurrences using is_equal.
fast_occurrences (elt: E_): INTEGER_32
effective function
Number of occurrences using =.
has (x: E_): BOOLEAN
effective function
Search if a element x is in the array using equal.
fast_has (x: E_): BOOLEAN
effective function
 Search if a element x is in the array using =.
all_default: BOOLEAN
effective function
Do all items have their type's default value?
swap (line1: INTEGER_32, column1: INTEGER_32, line2: INTEGER_32, column2: INTEGER_32)
effective procedure
Swap the element at index (line1,column1) with the the element at index (line2,column2).
copy (other: ARRAY2 [E_])
effective procedure
transpose
effective procedure
Transpose the Current array
to_external: POINTER
effective function
Gives C access to the internal storage (may be dangerous).
mark_native_arrays
effective procedure
For performance reasons, the unused area of storage is always left as it is when some elements are removed.
manifest_make (needed_capacity: INTEGER_32, line_min: INTEGER_32, line_max: INTEGER_32, column_min: INTEGER_32, column_max: INTEGER_32)
effective procedure
Create an ARRAY2[E_] using line_minimum / line_maximum / column_minimum and column_maximum as bounds.
manifest_put (index: INTEGER_32, element: E_)
effective procedure
The elements are stored line by line.
line_minimum: INTEGER_32
frozen
effective function
Equivalent of lower1.
column_minimum: INTEGER_32
frozen
effective function
Equivalent of lower2.
line_maximum: INTEGER_32
frozen
effective function
Equivalent of upper1.
column_maximum: INTEGER_32
frozen
effective function
Equivalent of upper2.
valid_line (line: INTEGER_32): BOOLEAN
frozen
effective function
valid_index1 (line: INTEGER_32): BOOLEAN
effective function
valid_column (column: INTEGER_32): BOOLEAN
frozen
effective function
valid_index2 (column: INTEGER_32): BOOLEAN
effective function
valid_index (line: INTEGER_32, column: INTEGER_32): BOOLEAN
frozen
effective function
line_count: INTEGER_32
frozen
effective function
Equivalent of count1.
column_count: INTEGER_32
frozen
effective function
clear_all
frozen
effective procedure
Set all items to default values.
is_equal (other: ARRAY2 [E_]): BOOLEAN
effective function
Do both collections have the same lower1, lower2, upper1 and upper2, and items?
is_equal_map (other: ARRAY2 [E_]): BOOLEAN
effective function
Do both collections have the same lower1, lower2, upper1 and upper2, and items?
fill_tagged_out_memory
frozen
effective procedure
Append a viewable information in tagged_out_memory in order to affect the behavior of out, tagged_out, etc.
set_area (element: E_, line_min: INTEGER_32, line_max: INTEGER_32, column_min: INTEGER_32, column_max: INTEGER_32)
effective procedure
Set all the elements of the selected area rectangle with element.
manifest_semicolon_check: BOOLEAN
constant attribute
You can use semicolons to make the end of each line more visible.
test (e1: E_, e2: E_): BOOLEAN
effective function
In order to avoid run-time type errors, feature safe_equal calls is_equal only when e1 and e2 have exactly the same dynamic type.
safe_equal (e1: E_, e2: E_): BOOLEAN
effective function
In order to avoid run-time type errors, feature safe_equal calls is_equal only when e1 and e2 have exactly the same dynamic type.
mark_item (native_array: NATIVE_ARRAY[E_], index: INTEGER_32)
To be used _only_ inside the definition of mark_native_arrays.