Index - All Packages - All Categories - All Classes

Class CoordinateSpace

A coordinate space represents (among other things) the domain space of a table. Corresponding to each coordinate space will be a set of objects of the following kinds:

Position -- The elements of the coordinate space.
Mapping -- (Add a description.)
OrderSpec -- The ways of specifying partial orders of this coordinate space's Positions.
XuRegion -- An XuRegion represents a set of Positions. The domain of a table is an XuRegion.

When defining a new coordinate space class, one generally defines new corresponing subclasses of each of the above classes. A kind of any of the above classes knows what coordinate space it is a part of (the "coordinateSpace()" message will yield an appropriate kind of CoordinateSpace). CoordinateSpace objects exist mostly just to represent this commonality. Coordinate spaces are disjoint--it is an error to use any of the generic protocol of any of the above classes if the objects in question are of two different coordinate spaces. For example, "dsp->of (pos)" is not an error iff "dsp->coordinateSpace()->isEqual (pos->coordinateSpace())".

Note that this class is not COPY or even PSEUDO_COPY. All of the instance variables for CoordinateSpace are basically cached
quantities that require vary little actual state from the derived classes in order to be constructed. This realization allows a knot
to be untangled when reading these objects from external storage.

Package: Udanax-Gold
All Superclasses: Object Heaper
Immediate Subclasses: BasicSpace CrossSpace FilterSpace HeaperSpace IDSpace IntegerSpace RealSpace SequenceSpace
Protocols: Object
Categories: Xanadu-Spaces-Basic

Class Methods

infostProtocol



Overridden by: CrossSpace class FilterSpace class IDSpace class IntegerSpace class RealSpace class SequenceSpace class

Instance Methods

actualHashForEqual



Overridden by: BasicSpace CrossSpace FilterSpace HeaperSpace IDSpace IntegerSpace RealSpace SequenceSpace

ascending

Essential. The natural full-ordering of the coordinate space.

completeMapping: range

Essential. A Mapping which maps each position in this space to every position in the range region. The region can be from any CoordinateSpace.

create



Overrides: Heaper
Overridden by: CrossSpace HeaperSpace IntegerSpace RealSpace SequenceSpace

create: emptyRegion with: fullRegion with: identityDsp



Overridden by: BasicSpace IDSpace

create: emptyRegion with: fullRegion with: identityDsp with: ascending



Overridden by: BasicSpace

create: emptyRegion with: fullRegion with: identityDsp with: ascending with: descending



Overridden by: BasicSpace

descending

The mirror image of the partial order returned by 'CoordinateSpace::ascending'.

emptyRegion

Essential. An empty region in this coordinate space

fetchAscending

The natural full-ordering of the coordinate space.

fetchDescending

The mirror image of the partial order returned by
'CoordinateSpace::fetchAscending'.

finishCreate: emptyRegion with: fullRegion with: identityDsp with: ascending with: descending


fullRegion

A full region in this coordinate space

getAscending

Essential. The natural full-ordering of the coordinate space.

getDescending

The mirror image of the partial order returned by 'CoordinateSpace::getAscending'.

identityDsp

A Dsp which maps all positions in the coordinate space onto themselves

identityMapping

Essential. A Mapping which maps all positions in the coordinate space onto themselves

importMapping: data with: rangeSpace


importOrderSpec: data


importRegion: data


isEqual: other



Overridden by: BasicSpace CrossSpace FilterSpace HeaperSpace IDSpace IntegerSpace RealSpace SequenceSpace

mapping: data



Overridden by: SequenceSpace

mapping: data with: rangeSpace



Overridden by: SequenceSpace

orderSpec: data


region: data


verify: thing

tell whether this is a valid Position/XuRegion/Dsp/OrderSpec for this space


Index - All Packages - All Categories - All Classes