Make each child completely contained or completely outside
the region. Return the number of children completely in the region.
The transformation table follows:
# in out return operation rearrange
1| 0 0 0 none none
2| 0 1 1 swap #4 (A (B* C)) -> (B* (A C))
3| 0 2 1 swap #7 (A B*) -> (B* A)
4| 1 0 1 rotateRight ((A* B) C) -> (A* (B C))
5| 1 1 1 interleave ((A* B) (C* D)) -> ((A* C*) (B D))
6| 1 2 1 swap #8 ((A* B) C*) -> ((A* C*) B)
7| 2 0 1 none none
8| 2 1 1 rotateLeft (A* (B* C)) -> ((A* B*) C)
9| 2 2 2 none none
Overrides: InnerLoaf
add oparent to the set of upward pointers and update the bertCrums in
southern children.
Overrides: Loaf
Overrides: InnerLoaf
Return a stepper of bundles according to the order.
Overrides: InnerLoaf
Overrides: InnerLoaf
Overrides: InnerLoaf
Break another into pieces according to mySplit, and combine
the corresponding pieces with my children transformed to global
coordinates. Combine the two non-overlapping results.
Overrides: InnerLoaf
return a mapping from my data to corresponding stuff in the given trace
Overrides: InnerLoaf
Overrides: Loaf
Overrides: InnerLoaf
Overrides: InnerLoaf
Special constructor for becoming this class
Overrides: InnerLoaf
Overrides: InnerLoaf
Overrides: Loaf
Overrides: Object
Overrides: InnerLoaf
Look up the range element for the key. If it is embedded within a virtual
structure, then make a virtual range element using the edition and globalKey.
Overrides: InnerLoaf
Return the bottom-most Loaf. Used to get the owner and such of a position.
Overrides: InnerLoaf
Overrides: InnerLoaf
Make an FeRangeElement for each position.
Overrides: InnerLoaf
Get or Make the BeRangeElement at the location.
Overrides: InnerLoaf
Copy the enclosure in orgl appropriate for this crum, then hand it down to the
subCrums.
This effectively copies the region represented by my distinction.
Overrides: InnerLoaf
Install new in and out children at the same
time. This will need to be in a critical section. Add me as
parent to the new loaves first in case the only ent reference
to the new loaf is through one of my children (which might
delete it if I'm *their* last reference).
Just search for now.
Overrides: InnerLoaf
Make a new crum to replace some existing crums during a splay
operation. The new crum must have the same trace as me to
guarantee the hTree property. Optimization: look at parents of the
new loaves to find a pre-existing parent with the same trace and
wisps. This will coalesce the shearing that splaying causes.
This is used by the splay algorithms.
Overrides: InnerLoaf
Overrides: Object
Overrides: InnerLoaf
Overrides: InnerLoaf
Recur assigning owners. Return the portion of the o-tree that couldn't be assigned.
Overrides: InnerLoaf
Return a region describing the stuff I share with the orgl under trace.
Overrides: InnerLoaf
Overrides: InnerLoaf
This is a support for the splay routine. Swapping the children
reduces the number of cases. This way, if this crum is partially
in a region being splayed, the part contained in the region
resides in the left slot.
Return true if child is a child. Used for debugging.
Return true if child is a child. Used for debugging.
Overrides: InnerLoaf
My bertCrum must not be leafward of newBCrum.
Thus it must be LE to newCrum. Otherwise correct it and recur.
Overrides: Loaf
Overrides: InnerLoaf
Overrides: InnerLoaf