|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--org.abora.gold.java.AboraHeaper
|
+--org.abora.gold.xpp.basic.Heaper
|
+--org.abora.gold.collection.tables.ScruTable
|
+--org.abora.gold.collection.tables.MuTable
|
+--org.abora.gold.collection.tables.IntegerTable
|
+--org.abora.gold.collection.tables.OberIntegerTable
|
+--org.abora.gold.collection.tables.ActualIntegerTable
The IntegerTable class is intended to provide an integer indexed
table which is not constrained to be zero based.
| Field Summary | |
protected boolean |
domainIsSimple
|
protected int |
elemCount
|
protected PtrArray |
elements
|
protected int |
firstElem
|
protected int |
lastElem
|
protected IntegerVar |
start
|
protected int |
tally
|
| Fields inherited from class org.abora.gold.collection.tables.OberIntegerTable |
myNextCOW |
| Fields inherited from class org.abora.gold.collection.tables.MuTable |
AlreadyInTableSignal, NotInDomainSignal, NullInsertionSignal |
| Fields inherited from class org.abora.gold.collection.tables.ScruTable |
NotInTableSignal, WrongCoordSpaceSignal |
| Fields inherited from class org.abora.gold.xpp.basic.Heaper |
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes |
| Fields inherited from class org.abora.gold.java.AboraHeaper |
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag |
| Constructor Summary | |
ActualIntegerTable()
The optional argument just hints at the number of elements to eventually be added. |
|
ActualIntegerTable(IntegerVar size)
The optional argument just hints at the number of elements to eventually be added. |
|
ActualIntegerTable(IntegerVar begin,
IntegerVar end)
Hint at the domain to be accessed (inclusive, exclusive). |
|
ActualIntegerTable(PtrArray array,
IntegerVar begin,
int count,
int first,
int last,
int aTally,
boolean simple)
|
|
ActualIntegerTable(Rcvr receiver)
|
|
| Method Summary | |
Heaper |
atIntStore(IntegerVar index,
Heaper value)
Unboxed version. |
Heaper |
atStore(Position key,
Heaper value)
Associate value with key, whether or not there is a previous association. Return the old range element if the position was previously occupied, NULL otherwise |
void |
becomeCloneOnWrite(Heaper where)
|
IntegerRegion |
contigDomainStarting(int anIdx)
|
CoordinateSpace |
coordinateSpace()
The kind of elements used to index into the table are Positions of this coordinate space. |
ScruTable |
copy()
A new one whose initial state is my current state, but that doesn't track changes. |
IntegerVar |
count()
Return the number of domain elements, which is to say, the number of associations. 'table->count()' should be equivalent to 'table->domain()->count()'. Used to say: 'Return the number of range elements'. |
void |
destroy()
|
void |
destruct()
Classes should implement this message rather than a destructor. |
XnRegion |
domain()
Return an XuRegion representing a snapshot of the current domain. 'table->domain()->hasMember(p)' iff 'table->fetch(p) !!= NULL'. |
PtrArray |
elementsArray()
return the elements array for rapid processing |
ScruTable |
emptySize(IntegerVar size)
Return an empty table just like the current one. |
int |
endOffset()
return the size of the elements array for rapid processing |
void |
enlargeAfter(IntegerVar toMinimum)
Enlarge the receiver to contain more slots filled with nil. |
void |
enlargeBefore(IntegerVar toMinimum)
Enlarge the receiver to contain more slots filled with nil. |
int |
fastHash()
|
Heaper |
fetch(Position key)
Return the range element at the domain position key. |
int |
firstElemAfter(int index)
This method returns the first table entry that is not NULL after index. |
void |
fixup()
|
IntegerRegion |
generateDomain()
|
IntegerVar |
highestIndex()
Given that the table is non-empty, 'intTab->highestIndex()' is equivalent to 'CAST(IntegerRegion,intTab->domain())->upperBound() -1'. |
boolean |
includesIntKey(IntegerVar aKey)
Unboxed version. |
boolean |
includesKey(Position aKey)
includesKey is used to test for the presence of a key->value pair in the table. |
void |
inspect()
|
Heaper |
intFetch(IntegerVar index)
Unboxed version. |
boolean |
intWipe(IntegerVar index)
Unboxed version. |
boolean |
isEmpty()
Is there anything in the table? 'table->isEmpty()' iff 'table->domain()->isEmpty()'. |
int |
lastElemBefore(int index)
This method returns the first table entry that is not NULL after index. |
IntegerVar |
lowestIndex()
Given that the table is non-empty, 'intTab->lowestIndex()' is equivalent to 'CAST(IntegerRegion,intTab->domain())->lowerBound()'. |
int |
maxElements()
return the size of the elements array for rapid processing |
IntegerRegion |
nullDomainStarting(int anIdx)
|
ScruTable |
offsetSubTableBetween(IntegerVar startIndex,
IntegerVar stopIndex,
IntegerVar firstIndex)
Copy the given range into a new IntegerTable. The range is startIndex (inclusive) to stopIndex (exclusive) The first element in the sub table will be at firstIndex |
void |
printOn(java.io.PrintWriter aStream)
|
XnRegion |
runAt(Position anIdx)
Return the length of the run starting at position key. |
XnRegion |
runAtInt(IntegerVar anIdx)
Unboxed version. |
void |
sendSelfTo(Xmtr xmtr)
do nothing |
IntegerVar |
startIndex()
return the size of the elements array for rapid processing |
int |
startOffset()
return the size of the elements array for rapid processing |
TableStepper |
stepper(OrderSpec order)
ignore order spec for now |
ScruTable |
subTable(XnRegion reg)
Return a table which contains only the intersection of this table's domain and the domain specified by 'region'. table->subTable(r)->domain()->isEqual( table->domain()->intersect(r) ). It is unspecified whether the resulting table starts as a snapshot of a subset of me, after which we go our own ways; or whether the resulting table is a view onto a subset of me, such that changes to me are also visible to him. |
ScruTable |
subTableBetween(IntegerVar startIndex,
IntegerVar stopIndex)
Hack for C++ overloading problem |
Heaper |
theOne()
Iff I contain exactly one range element, return it. |
boolean |
wipe(Position key)
Remove a key->value association from the table. Do not blast (or do anything else) if the key is not in my current domain. Return TRUE if the association was present and removed, Return FALSE if the association was not there |
| Methods inherited from class org.abora.gold.collection.tables.OberIntegerTable |
aboutToWrite, getNextCOW, setNextCOW |
| Methods inherited from class org.abora.gold.collection.tables.IntegerTable |
atIntIntroduce, atIntReplace, atIntroduce, atReplace, intRemove, make, make, make, make, make, make, make, remove |
| Methods inherited from class org.abora.gold.collection.tables.MuTable |
actualHashForEqual, asImmuTable, asMuTable, initTimeNonInherited, introduceAll, introduceAll, introduceAll, isEqual, make, make, problems, removeAll, replaceAll, replaceAll, replaceAll, storeAll, storeAll, storeAll, test, wipeAll |
| Methods inherited from class org.abora.gold.collection.tables.ScruTable |
asOrderedCollection, backfollowFrom, contentsEqual, contentsHash, dox, get, intGet, isEqual, printOnWithSimpleSyntax, printOnWithSyntax, range, stepper, transformedBy |
| Methods inherited from class org.abora.gold.java.AboraHeaper |
asOop, basicInspect, displayString, error, hack, halt, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected PtrArray elements
protected IntegerVar start
protected int elemCount
protected int firstElem
protected int lastElem
protected int tally
protected boolean domainIsSimple
| Constructor Detail |
public ActualIntegerTable()
public ActualIntegerTable(IntegerVar size)
public ActualIntegerTable(IntegerVar begin,
IntegerVar end)
public ActualIntegerTable(PtrArray array,
IntegerVar begin,
int count,
int first,
int last,
int aTally,
boolean simple)
public ActualIntegerTable(Rcvr receiver)
| Method Detail |
public int fastHash()
public boolean includesIntKey(IntegerVar aKey)
ScruTable
includesIntKey in class OberIntegerTablepublic boolean isEmpty()
ScruTable
isEmpty in class OberIntegerTable
public Heaper atIntStore(IntegerVar index,
Heaper value)
MuTable
atIntStore in class OberIntegerTablepublic CoordinateSpace coordinateSpace()
ScruTable
coordinateSpace in class OberIntegerTablepublic IntegerVar count()
ScruTable
count in class OberIntegerTablepublic XnRegion domain()
ScruTable
domain in class OberIntegerTablepublic IntegerVar highestIndex()
OberIntegerTable
highestIndex in class OberIntegerTablepublic Heaper intFetch(IntegerVar index)
ScruTable
intFetch in class OberIntegerTablepublic boolean intWipe(IntegerVar index)
MuTable
intWipe in class OberIntegerTablepublic IntegerVar lowestIndex()
OberIntegerTable
lowestIndex in class OberIntegerTablepublic ScruTable copy()
ScruTable
copy in class OberIntegerTablepublic void destroy()
destroy in class Heaperpublic ScruTable emptySize(IntegerVar size)
ScruTable
emptySize in class OberIntegerTable
public ScruTable offsetSubTableBetween(IntegerVar startIndex,
IntegerVar stopIndex,
IntegerVar firstIndex)
offsetSubTableBetween in class OberIntegerTablepublic ScruTable subTable(XnRegion reg)
ScruTable
subTable in class OberIntegerTable
public ScruTable subTableBetween(IntegerVar startIndex,
IntegerVar stopIndex)
subTableBetween in class OberIntegerTablepublic XnRegion runAtInt(IntegerVar anIdx)
ScruTable
runAtInt in class OberIntegerTablepublic void printOn(java.io.PrintWriter aStream)
printOn in class ScruTablepublic TableStepper stepper(OrderSpec order)
stepper in class OberIntegerTablepublic Heaper theOne()
ScruTable
theOne in class ScruTablepublic IntegerRegion contigDomainStarting(int anIdx)
public PtrArray elementsArray()
elementsArray in class OberIntegerTablepublic int endOffset()
endOffset in class OberIntegerTablepublic void enlargeAfter(IntegerVar toMinimum)
public void enlargeBefore(IntegerVar toMinimum)
public int firstElemAfter(int index)
public IntegerRegion generateDomain()
public int lastElemBefore(int index)
public int maxElements()
public IntegerRegion nullDomainStarting(int anIdx)
public IntegerVar startIndex()
startIndex in class OberIntegerTablepublic int startOffset()
startOffset in class OberIntegerTablepublic void fixup()
public void inspect()
inspect in class AboraHeaperpublic void destruct()
Heaper
destruct in class Heaperpublic void becomeCloneOnWrite(Heaper where)
becomeCloneOnWrite in class OberIntegerTable
public Heaper atStore(Position key,
Heaper value)
MuTable
atStore in class OberIntegerTablepublic Heaper fetch(Position key)
ScruTable
fetch in class OberIntegerTablepublic boolean includesKey(Position aKey)
ScruTable
includesKey in class OberIntegerTablepublic XnRegion runAt(Position anIdx)
ScruTable
runAt in class OberIntegerTablepublic boolean wipe(Position key)
MuTable
wipe in class OberIntegerTablepublic void sendSelfTo(Xmtr xmtr)
Heaper
sendSelfTo in class MuTable
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||