Package org.roaringbitmap.art
Class AbstractShuttle
java.lang.Object
org.roaringbitmap.art.AbstractShuttle
- All Implemented Interfaces:
Shuttle
- Direct Known Subclasses:
BackwardShuttle
,ForwardShuttle
visit the art tree's space through a stack which records the deep first visiting paths.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Art
protected Containers
protected int
protected boolean
protected static final int
protected org.roaringbitmap.art.AbstractShuttle.NodeEntry[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract int
boundaryNodePosition
(Node node, boolean inRunDirection) protected abstract boolean
currentBeforeHigh
(long current, long high) get the current LeafNode after calling the method moveToNextLeafvoid
should be called firstly before calling other methodsvoid
initShuttleFrom
(long key) Call this instead of initShuttle, if the iterator should start from a bound (upper/lower depending on direction)boolean
protected abstract boolean
prefixMismatchIsInRunDirection
(byte nodeValue, byte highValue) void
remove()
remove the current visiting LeafNode and its corresponding value containerprotected abstract int
searchMissNextPosition
(org.roaringbitmap.art.SearchResult result) protected abstract int
visitedNodeNextPosition
(Node node, int pos)
-
Field Details
-
MAX_DEPTH
protected static final int MAX_DEPTH- See Also:
-
stack
protected org.roaringbitmap.art.AbstractShuttle.NodeEntry[] stack -
depth
protected int depth -
hasRun
protected boolean hasRun -
art
-
containers
-
-
Constructor Details
-
AbstractShuttle
-
-
Method Details
-
initShuttle
public void initShuttle()Description copied from interface:Shuttle
should be called firstly before calling other methods- Specified by:
initShuttle
in interfaceShuttle
-
initShuttleFrom
public void initShuttleFrom(long key) Description copied from interface:Shuttle
Call this instead of initShuttle, if the iterator should start from a bound (upper/lower depending on direction)- Specified by:
initShuttleFrom
in interfaceShuttle
- Parameters:
key
- the upper/lower bound to start from
-
currentBeforeHigh
protected abstract boolean currentBeforeHigh(long current, long high) -
moveToNextLeaf
public boolean moveToNextLeaf()- Specified by:
moveToNextLeaf
in interfaceShuttle
- Returns:
- true: has a LeafNode, false: has no LeafNode
-
visitedNodeNextPosition
-
getCurrentLeafNode
Description copied from interface:Shuttle
get the current LeafNode after calling the method moveToNextLeaf- Specified by:
getCurrentLeafNode
in interfaceShuttle
- Returns:
- the current visiting LeafNode
-
remove
public void remove()Description copied from interface:Shuttle
remove the current visiting LeafNode and its corresponding value container -
boundaryNodePosition
-
prefixMismatchIsInRunDirection
protected abstract boolean prefixMismatchIsInRunDirection(byte nodeValue, byte highValue) -
searchMissNextPosition
protected abstract int searchMissNextPosition(org.roaringbitmap.art.SearchResult result)
-