LisaacTM Platform

COLLECTION2


Abstract definition of a 2 dimensional collection of elements of type E.
The Lisaac standard library provides two implementations of COLLECTION2: ARRAY2 and FAST_ARRAY2. All implementations have exactly the same behavior. Switching from one implementation to another only change the memory used and the execution time.
Inherit/Insert Summary
parent_safe_equal No developed.
 
Indexing:
lower1
First Lower index bounds.
lower2
Second Lower index bounds.
line_minimum
Equivalent of lower1.
column_minimum
Equivalent of lower2.
upper1
First Upper index bounds.
upper2
Second Upper index bounds.
line_maximum
Equivalent of upper1.
column_maximum
Equivalent of upper2.
 
Reading:
item
 
Writing:
put to
force to
Put element at position (line,column). Collection is resized first when (line,column) is not inside current bounds. New bounds are initialized with default values.
 
Index validity:
valid_line
valid_index1
valid_column
valid_index2
valid_index
 
Counting:
count1
Size of the first dimension.
line_count
Equivalent of count1.
count2
Size of the second dimension.
column_count
Equivalent of count2.
count
Total number of elements.
swap with
Swap the element at index (line1,column1) with the the element at index (line2,column2).
set_all_with
Set all item with value v.
clear_all
Set all items to default values.
 
Creating or initializing:
from_collection2
Uses model to initialize Current.
from_model
The model is used to fill line by line Current. Assume all sub-collections of model have the same number of lines.
copy_collection
Copy other to Current.
 
Looking and comparison:
all_default
Do all items have their type's default value?
Infix '=='
Do both collections have the same lower1, lower2, upper1 and upper2, and items? The basic = is used for comparison of items.
See also is_equal_map.
is_equal_map
Do both collections have the same lower1, lower2, upper1 and upper2, and items? Feature is_equal is used for comparison of items.
See also is_equal.
 
Printing:
fill_tagged_out_memory
 
Miscellaneous features:
occurrences
Number of occurrences using equal.
See also fast_occurrences to chose the apropriate one.
fast_occurrences
Number of occurrences using =.
See also occurrences to chose the apropriate one.
has
Search if a element x is in the array using equal.
See also fast_has to chose the apropriate one.
fast_has
Search if a element x is in the array using =.
replace_all with
Replace all occurences of the element old_value by new_value using equal for comparison.
See also fast_replace_all to choose the apropriate one.
fast_replace_all with
Replace all occurences of the element old_value by new_value using operator = for comparison.
See also replace_all to choose the apropriate one.
sub_collection2 to
Create a new object using selected area of Current.
set_area to with
Set all the elements of the selected area rectangle with element.
 

Inherit/Insert Detail

parent_safe_equal

.../base/collection/low_level/collection2.li line #17

Section:
Inherit

Profile:
- SelfSELFparent_safe_equal : SAFE_EQUALV)

Indexing:

lower1

.../base/collection/low_level/collection2.li line #25

Section:
Public

Profile:
- SelfSELFlower1 : INTEGER

Description:
First Lower index bounds.

lower2

.../base/collection/low_level/collection2.li line #32

Section:
Public

Profile:
- SelfSELFlower2 : INTEGER

Description:
Second Lower index bounds.

line_minimum

.../base/collection/low_level/collection2.li line #39

Section:
Public

Profile:
- SelfSELFline_minimum : INTEGER

Description:
Equivalent of lower1.

column_minimum

.../base/collection/low_level/collection2.li line #42

Section:
Public

Profile:
- SelfSELFcolumn_minimum : INTEGER

Description:
Equivalent of lower2.

upper1

.../base/collection/low_level/collection2.li line #45

Section:
Public

Profile:
- SelfSELFupper1 : INTEGER

Description:
First Upper index bounds.

upper2

.../base/collection/low_level/collection2.li line #52

Section:
Public

Profile:
- SelfSELFupper2 : INTEGER

Description:
Second Upper index bounds.

line_maximum

.../base/collection/low_level/collection2.li line #59

Section:
Public

Profile:
- SelfSELFline_maximum : INTEGER

Description:
Equivalent of upper1.

column_maximum

.../base/collection/low_level/collection2.li line #62

Section:
Public

Profile:
- SelfSELFcolumn_maximum : INTEGER

Description:
Equivalent of upper2.

Reading:

item

.../base/collection/low_level/collection2.li line #69

Section:
Public

Profile:
- SelfSELFitem  ( line : INTEGER, column : INTEGER) : V

Writing:

put to

.../base/collection/low_level/collection2.li line #81

Section:
Public

Profile:
- SelfSELFput   element : V  to  ( line : INTEGER, column : INTEGER)

force to

.../base/collection/low_level/collection2.li line #88

Section:
Public

Profile:
- SelfSELFforce   element : V  to  ( line : INTEGER, column : INTEGER)

Description:
Put element at position (line,column). Collection is resized first when (line,column) is not inside current bounds. New bounds are initialized with default values.

Index validity:

valid_line

.../base/collection/low_level/collection2.li line #108

Section:
Public

Profile:
- SelfSELFvalid_line   line : INTEGERBOOLEAN

valid_index1

.../base/collection/low_level/collection2.li line #116

Section:
Public

Profile:
- SelfSELFvalid_index1   line : INTEGERBOOLEAN

valid_column

.../base/collection/low_level/collection2.li line #121

Section:
Public

Profile:
- SelfSELFvalid_column   column : INTEGERBOOLEAN

valid_index2

.../base/collection/low_level/collection2.li line #129

Section:
Public

Profile:
- SelfSELFvalid_index2   column : INTEGERBOOLEAN

valid_index

.../base/collection/low_level/collection2.li line #134

Section:
Public

Profile:
- SelfSELFvalid_index  ( line : INTEGER, column : INTEGER) : BOOLEAN

Counting:

count1

.../base/collection/low_level/collection2.li line #147

Section:
Public

Profile:
- SelfSELFcount1 : INTEGER

Description:
Size of the first dimension.

line_count

.../base/collection/low_level/collection2.li line #157

Section:
Public

Profile:
- SelfSELFline_count : INTEGER

Description:
Equivalent of count1.

count2

.../base/collection/low_level/collection2.li line #160

Section:
Public

Profile:
- SelfSELFcount2 : INTEGER

Description:
Size of the second dimension.

column_count

.../base/collection/low_level/collection2.li line #170

Section:
Public

Profile:
- SelfSELFcolumn_count : INTEGER

Description:
Equivalent of count2.

count

.../base/collection/low_level/collection2.li line #173

Section:
Public

Profile:
- SelfSELFcount : INTEGER

Description:
Total number of elements.

swap with

.../base/collection/low_level/collection2.li line #183

Section:
Public

Profile:
- SelfSELFswap  ( line1 : INTEGER, column1 : INTEGER)  with  ( line2 : INTEGER, column2 : INTEGER)

Description:
Swap the element at index (line1,column1) with the the element at index (line2,column2).

set_all_with

.../base/collection/low_level/collection2.li line #199

Section:
Public

Profile:
- SelfSELFset_all_with   v : V

Description:
Set all item with value v.

clear_all

.../base/collection/low_level/collection2.li line #208

Section:
Public

Profile:
- SelfSELFclear_all 

Description:
Set all items to default values.

Creating or initializing:

from_collection2

.../base/collection/low_level/collection2.li line #223

Section:
Public

Profile:
- SelfSELFfrom_collection2   model : COLLECTION2V)

Description:
Uses model to initialize Current.

from_model

.../base/collection/low_level/collection2.li line #234

Section:
Public

Profile:
- SelfSELFfrom_model   model : COLLECTIONCOLLECTIONV))

Description:
The model is used to fill line by line Current. Assume all sub-collections of model have the same number of lines.

copy_collection

.../base/collection/low_level/collection2.li line #250

Section:
Public

Profile:
- SelfSELFcopy_collection   other : COLLECTION2V)

Description:
Copy other to Current.

See:
copy.

Looking and comparison:

all_default

.../base/collection/low_level/collection2.li line #271

Section:
Public

Profile:
- SelfSELFall_default : BOOLEAN

Description:
Do all items have their type's default value?

Infix '=='

.../base/collection/low_level/collection2.li line #278

Section:
Public

Profile:
- SelfSELF== '  other : EBOOLEAN

Description:
Do both collections have the same lower1, lower2, upper1 and upper2, and items? The basic = is used for comparison of items.
See also is_equal_map.

is_equal_map

.../base/collection/low_level/collection2.li line #306

Section:
Public

Profile:
- SelfSELFis_equal_map   other : COLLECTION2V) : BOOLEAN

Description:
Do both collections have the same lower1, lower2, upper1 and upper2, and items? Feature is_equal is used for comparison of items.
See also is_equal.

Printing:

fill_tagged_out_memory

.../base/collection/low_level/collection2.li line #337

Section:
Public

Profile:
- SelfSELFfill_tagged_out_memory 

Miscellaneous features:

occurrences

.../base/collection/low_level/collection2.li line #378

Section:
Public

Profile:
- SelfSELFoccurrences   elt : VINTEGER

Description:
Number of occurrences using equal.
See also fast_occurrences to chose the apropriate one.

fast_occurrences

.../base/collection/low_level/collection2.li line #388

Section:
Public

Profile:
- SelfSELFfast_occurrences   elt : VINTEGER

Description:
Number of occurrences using =.
See also occurrences to chose the apropriate one.

has

.../base/collection/low_level/collection2.li line #398

Section:
Public

Profile:
- SelfSELFhas   x : VBOOLEAN

Description:
Search if a element x is in the array using equal.
See also fast_has to chose the apropriate one.

fast_has

.../base/collection/low_level/collection2.li line #407

Section:
Public

Profile:
- SelfSELFfast_has   x : VBOOLEAN

Description:
Search if a element x is in the array using =.

replace_all with

.../base/collection/low_level/collection2.li line #414

Section:
Public

Profile:
- SelfSELFreplace_all   old_value : V  with   new_value : V

Description:
Replace all occurences of the element old_value by new_value using equal for comparison.
See also fast_replace_all to choose the apropriate one.

fast_replace_all with

.../base/collection/low_level/collection2.li line #427

Section:
Public

Profile:
- SelfSELFfast_replace_all   old_value : V  with   new_value : V

Description:
Replace all occurences of the element old_value by new_value using operator = for comparison.
See also replace_all to choose the apropriate one.

sub_collection2 to

.../base/collection/low_level/collection2.li line #440

Section:
Public

Profile:
- SelfSELFsub_collection2  ( line_min : INTEGER, column_min : INTEGER)  to  ( line_max : INTEGER, column_max : INTEGER) : SELF

Description:
Create a new object using selected area of Current.

set_area to with

.../base/collection/low_level/collection2.li line #454

Section:
Public

Profile:
- SelfSELFset_area  ( line_min : INTEGER, column_min : INTEGER)  to  ( line_max : INTEGER, column_max : INTEGER)  with   element : V

Description:
Set all the elements of the selected area rectangle with element.