Index - All Packages - All Categories - All Classes

Class IntegerTable

The IntegerTable class is used for tables that have arbitrary XuInteger keys in their domain. Since ScruTable & MuTable already provide all the unboxed versions of the table protocol, there is little need for this class to be a type. However, this class does provide a bit of extra protocol convenience: highestIndex & lowestIndex. Unless these are retired, we cannot retire this class from type status.

Note that there may be tables with XuInteger keys (ie., IntegerSpace domains) which are not kinds of IntegerTables. In particular it is perfectly sensible to create a HashTable with XuInteger keys when the domain region is likely to be sparse.

Package: Udanax-Gold
All Superclasses: Object Heaper ScruTable MuTable
Immediate Subclasses: MuArray OberIntegerTable
Protocols: Object
Categories: Xanadu-Collection-Tables

Class Methods

make

A new empty IntegerTable

make: something



Overrides: MuTable class

make: from with: to



Overrides: MuTable class

makeIntegerVar: someSize

A new empty IntegerTable. 'someSize' is a hint about how big the table is likely
to need to be ('highestIndex - lowestIndex + 1', not 'count').

Overridden by: MuArray class

makeIntegerVar: fromIdx with: toIdx

Hint that the domain's lowerBound (inclusive) will eventually be 'fromIdx', and
the domain's upperBound (exclusive) will eventually be 'toIdx'.

makeRegion: reg

Hint that the domain of the new table will eventually be (or at least resemble)
'reg'.

makeScruTable: table

A new IntegerTable initialized from 'table' in a wierd and screwy way

makeWordArray: wv

Make a copy of 'wv' as an IntegerTable. The IntegerTable starts out with the
same state as 'wv', but unlike 'wv' is not obligated to maintain MuArray
constraints.

Instance Methods

at: key introduce: value



Overrides: MuTable

at: key replace: value



Overrides: MuTable

at: key store: value



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

atInt: key introduce: value



Overrides: MuTable

atInt: key replace: value



Overrides: MuTable

atInt: key store: value



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

coordinateSpace



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

copy



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

count



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

create

Create a new table with an unspecified number of initial domain positions.

Overrides: MuTable
Overridden by: ActualArray OberIntegerTable ActualIntegerTable

domain



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

emptySize: size



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

fetch: key



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

highestIndex

Given that the table is non-empty, 'intTab->highestIndex()' is equivalent to
'CAST(IntegerRegion,intTab->domain())->upperBound() -1'. The reason for the
'-1' is that the 'upperBound' is an exclusive upper bound (see
IntegerRegion::upperBound), whereas 'highestIndex' is the highest index which is
in my domain. I need to here specify what 'highestIndex' does if I am empty.

Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

includesIntKey: aKey



Overrides: MuTable
Overridden by: MuArray OberIntegerTable ActualIntegerTable COWIntegerTable

includesKey: aKey



Overrides: MuTable
Overridden by: MuArray OberIntegerTable ActualIntegerTable COWIntegerTable

intFetch: key



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

intRemove: anIdx



Overrides: MuTable

intWipe: anIdx



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

isEmpty



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

lowestIndex

Given that the table is non-empty, 'intTab->lowestIndex()' is equivalent to
'CAST(IntegerRegion,intTab->domain())->lowerBound()'. 'lowestIndex' is the
lowest index which is in my domain. I need to here specify what 'lowestIndex'
does if I am empty.

Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

offsetSubTableBetween: startIndex with: stopIndex with: firstIndex



Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

remove: aPos



Overrides: MuTable

runAt: key



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

runAtInt: key



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

stepper: order



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

subTable: reg



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

subTableBetween: startIndex with: stopIndex

Hack for C++ overloading problem

Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable

wipe: anIdx



Overrides: MuTable
Overridden by: MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable


Index - All Packages - All Categories - All Classes