Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "Two-dimensional arrays" status: "See notice at end of class" names: array2, matrix, table representation: array access: index, row_and_column, membership size: resizable contents: generic date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" class interface ARRAY2 [G] create make feature -- Initialization make (nb_rows, nb_columns: INTEGER) -- Create a two dimensional array which has nb_rows -- rows and nb_columns columns, -- with lower bounds starting at 1. require not_flat: nb_rows > 0 not_thin: nb_columns > 0 ensure new_count: count = height * width initialize (v: G) -- Make each entry have value v. feature -- Access item (row, column: INTEGER): G -- Entry at coordinates (row, column) require valid_row: (1 <= row) and (row <= height) valid_column: (1 <= column) and (column <= width) feature -- Measurement height: INTEGER -- Number of rows width: INTEGER -- Number of columns feature -- Element change put (v: like item; row, column: INTEGER) -- Assign item v at coordinates (row, column). require valid_row: 1 <= row and row <= height valid_column: 1 <= column and column <= width force (v: like item; row, column: INTEGER) -- Assign item v at coordinates (row, column). -- Resize if necessary. require row_large_enough: 1 <= row column_large_enough: 1 <= column feature -- Removal wipe_out -- Remove all items. feature -- Resizing resize (nb_rows, nb_columns: INTEGER) -- Rearrange array so that it can accommodate -- nb_rows rows and nb_columns columns, -- without losing any previously -- entered items, nor changing their coordinates; -- do nothing if not possible. require valid_row: nb_rows >= 1 valid_column: nb_columns >= 1 invariant items_number: count = width * height indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail <info@eiffel.com> Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class ARRAY2
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

-- Generated by ISE Eiffel --
For more details: www.eiffel.com