Class PersistentTrieMap.BitmapIndexedMapNode<K,V>
java.lang.Object
io.usethesource.capsule.core.PersistentTrieMap.AbstractMapNode<K,V>
io.usethesource.capsule.core.PersistentTrieMap.CompactMapNode<K,V>
io.usethesource.capsule.core.PersistentTrieMap.CompactMixedMapNode<K,V>
io.usethesource.capsule.core.PersistentTrieMap.BitmapIndexedMapNode<K,V>
- All Implemented Interfaces:
MapNode<K, V, PersistentTrieMap.AbstractMapNode<K,V>>, Node, Serializable
- Enclosing class:
PersistentTrieMap<K,V>
private static final class PersistentTrieMap.BitmapIndexedMapNode<K,V>
extends PersistentTrieMap.CompactMixedMapNode<K,V>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final AtomicReference<Thread> (package private) final Object[]Fields inherited from class PersistentTrieMap.CompactMapNode
BIT_PARTITION_MASK, BIT_PARTITION_SIZE, HASH_CODE_LENGTHFields inherited from class PersistentTrieMap.AbstractMapNode
TUPLE_LENGTHFields inherited from interface Node
SIZE_EMPTY, SIZE_MORE_THAN_ONE, SIZE_ONE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateBitmapIndexedMapNode(AtomicReference<Thread> mutator, int nodeMap, int dataMap, Object[] nodes) -
Method Summary
Modifier and TypeMethodDescription(package private) PersistentTrieMap.CompactMapNode<K, V> copyAndInsertValue(AtomicReference<Thread> mutator, int bitpos, K key, V val) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndMigrateFromInlineToNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndMigrateFromNodeToInline(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndRemoveValue(AtomicReference<Thread> mutator, int bitpos) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndSetNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndSetValue(AtomicReference<Thread> mutator, int bitpos, V val) private final booleandeepContentEquality(Object[] a1, Object[] a2, int splitAt, int length, EqualityComparator<Object> cmp) booleanbooleanequivalent(Object other, EqualityComparator<Object> cmp) (package private) KgetKey(int index) getKeyValueEntry(int index) (package private) PersistentTrieMap.CompactMapNode<K, V> getNode(int index) (package private) ObjectgetSlot(int index) (package private) VgetValue(int index) inthashCode()(package private) booleanhasNodes()(package private) boolean(package private) booleanhasSlots()(package private) int(package private) intbyteAbstract predicate over a node's size.(package private) intMethods inherited from class PersistentTrieMap.CompactMixedMapNode
dataMap, nodeMapMethods inherited from class PersistentTrieMap.CompactMapNode
bitpos, containsKey, dataIndex, findByKey, index, index, mask, mergeTwoKeyValPairs, nodeAt, nodeIndex, nodeInvariant, nodeOf, nodeOf, nodeOf, recoverMask, removed, toString, updatedMethods inherited from class PersistentTrieMap.AbstractMapNode
arity, dataArray, isAllowedToEdit, nodeIterator, size
-
Field Details
-
mutator
-
nodes
-
-
Constructor Details
-
BitmapIndexedMapNode
private BitmapIndexedMapNode(AtomicReference<Thread> mutator, int nodeMap, int dataMap, Object[] nodes)
-
-
Method Details
-
nodeArray
-
getKey
- Specified by:
getKeyin classPersistentTrieMap.AbstractMapNode<K,V>
-
getValue
- Specified by:
getValuein classPersistentTrieMap.AbstractMapNode<K,V>
-
getKeyValueEntry
- Specified by:
getKeyValueEntryin classPersistentTrieMap.AbstractMapNode<K,V>
-
getNode
- Specified by:
getNodein classPersistentTrieMap.CompactMapNode<K,V>
-
hasPayload
boolean hasPayload()- Specified by:
hasPayloadin classPersistentTrieMap.AbstractMapNode<K,V>
-
payloadArity
int payloadArity()- Specified by:
payloadArityin classPersistentTrieMap.AbstractMapNode<K,V>
-
hasNodes
boolean hasNodes()- Specified by:
hasNodesin classPersistentTrieMap.AbstractMapNode<K,V>
-
nodeArity
int nodeArity()- Specified by:
nodeArityin classPersistentTrieMap.AbstractMapNode<K,V>
-
getSlot
- Specified by:
getSlotin classPersistentTrieMap.AbstractMapNode<K,V>
-
hasSlots
boolean hasSlots()- Specified by:
hasSlotsin classPersistentTrieMap.AbstractMapNode<K,V>
-
slotArity
int slotArity()- Specified by:
slotArityin classPersistentTrieMap.AbstractMapNode<K,V>
-
hashCode
-
equals
-
equivalent
-
deepContentEquality
private final boolean deepContentEquality(Object[] a1, Object[] a2, int splitAt, int length, EqualityComparator<Object> cmp) -
sizePredicate
-
copyAndSetValue
PersistentTrieMap.CompactMapNode<K,V> copyAndSetValue(AtomicReference<Thread> mutator, int bitpos, V val) - Specified by:
copyAndSetValuein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndSetNode
PersistentTrieMap.CompactMapNode<K,V> copyAndSetNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) - Specified by:
copyAndSetNodein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndInsertValue
PersistentTrieMap.CompactMapNode<K,V> copyAndInsertValue(AtomicReference<Thread> mutator, int bitpos, K key, V val) - Specified by:
copyAndInsertValuein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndRemoveValue
PersistentTrieMap.CompactMapNode<K,V> copyAndRemoveValue(AtomicReference<Thread> mutator, int bitpos) - Specified by:
copyAndRemoveValuein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndMigrateFromInlineToNode
PersistentTrieMap.CompactMapNode<K,V> copyAndMigrateFromInlineToNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) - Specified by:
copyAndMigrateFromInlineToNodein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndMigrateFromNodeToInline
PersistentTrieMap.CompactMapNode<K,V> copyAndMigrateFromNodeToInline(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) - Specified by:
copyAndMigrateFromNodeToInlinein classPersistentTrieMap.CompactMapNode<K,V>
-