Package org.roaringbitmap.art
Class LeafNode
java.lang.Object
org.roaringbitmap.art.Node
org.roaringbitmap.art.LeafNode
-
Field Summary
Fields inherited from class org.roaringbitmap.art.Node
count, ILLEGAL_IDX, nodeType, prefix, prefixLength
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
deserializeNodeBody
(DataInput dataInput) void
deserializeNodeBody
(ByteBuffer byteBuffer) getChild
(int pos) get the child at the specified position in the node, the 'pos' range from 0 to countbyte
getChildKey
(int pos) get the corresponding key byte of the requested positionint
getChildPos
(byte k) get the position of a child corresponding to the input key 'k'long
byte[]
int
get the max child's positionint
get the position of the min element in current node.org.roaringbitmap.art.SearchResult
getNearestChildPos
(byte key) get the position of a child corresponding to the input key 'k' if present if 'k' is not in the child, return the positions of the neighbouring nodes insteadint
getNextLargerPos
(int pos) get the next position in the nodeint
getNextSmallerPos
(int pos) get the next smaller element's positionremove
(int pos) remove the specified position childvoid
replaceChildren
(Node[] children) void
replaceNode
(int pos, Node freshOne) replace the position child to the fresh onevoid
serializeNodeBody
(DataOutput dataOutput) void
serializeNodeBody
(ByteBuffer byteBuffer) int
the serialized size except the common node header partMethods inherited from class org.roaringbitmap.art.Node
binarySearch, copyPrefix, deserialize, deserialize, insertLeaf, serialize, serialize, serializeSizeInBytes
-
Field Details
-
LEAF_NODE_KEY_LENGTH_IN_BYTES
public static final int LEAF_NODE_KEY_LENGTH_IN_BYTES- See Also:
-
-
Constructor Details
-
LeafNode
public LeafNode(byte[] key, long containerIdx) constructor- Parameters:
key
- the 48 bitcontainerIdx
- the corresponding container index
-
LeafNode
public LeafNode(long key, long containerIdx) constructor- Parameters:
key
- a long value ,only the high 48 bit is valuablecontainerIdx
- the corresponding container index
-
-
Method Details
-
serializeNodeBody
- Throws:
IOException
-
serializeNodeBody
- Throws:
IOException
-
deserializeNodeBody
- Throws:
IOException
-
deserializeNodeBody
- Throws:
IOException
-
serializeNodeBodySizeInBytes
public int serializeNodeBodySizeInBytes()Description copied from class:Node
the serialized size except the common node header part- Specified by:
serializeNodeBodySizeInBytes
in classNode
- Returns:
- the size in bytes
-
getChildPos
public int getChildPos(byte k) Description copied from class:Node
get the position of a child corresponding to the input key 'k'- Specified by:
getChildPos
in classNode
- Parameters:
k
- a key value of the byte range- Returns:
- the child position corresponding to the key 'k'
-
getNearestChildPos
public org.roaringbitmap.art.SearchResult getNearestChildPos(byte key) Description copied from class:Node
get the position of a child corresponding to the input key 'k' if present if 'k' is not in the child, return the positions of the neighbouring nodes instead- Specified by:
getNearestChildPos
in classNode
- Parameters:
key
- a key value of the byte range- Returns:
- a result indicating whether or not the key was found and the positions of the child corresponding to it or its neighbours
-
getChildKey
public byte getChildKey(int pos) Description copied from class:Node
get the corresponding key byte of the requested position- Specified by:
getChildKey
in classNode
- Parameters:
pos
- the position- Returns:
- the corresponding key byte
-
getChild
Description copied from class:Node
get the child at the specified position in the node, the 'pos' range from 0 to count -
replaceNode
Description copied from class:Node
replace the position child to the fresh one- Specified by:
replaceNode
in classNode
- Parameters:
pos
- the positionfreshOne
- the fresh node to replace the old one
-
getMinPos
public int getMinPos()Description copied from class:Node
get the position of the min element in current node. -
getNextLargerPos
public int getNextLargerPos(int pos) Description copied from class:Node
get the next position in the node- Specified by:
getNextLargerPos
in classNode
- Parameters:
pos
- current position,-1 to start from the min one- Returns:
- the next larger byte key's position which is close to 'pos' position,-1 for end
-
getMaxPos
public int getMaxPos()Description copied from class:Node
get the max child's position -
getNextSmallerPos
public int getNextSmallerPos(int pos) Description copied from class:Node
get the next smaller element's position- Specified by:
getNextSmallerPos
in classNode
- Parameters:
pos
- the position,-1 to start from the largest one- Returns:
- the next smaller key's position which is close to input 'pos' position,-1 for end
-
remove
Description copied from class:Node
remove the specified position child -
replaceChildren
-
getContainerIdx
public long getContainerIdx() -
getKeyBytes
public byte[] getKeyBytes()
-