static final class PersistentHashMap.BitmapIndexedNode extends java.lang.Object implements PersistentHashMap.INode
| Modifier and Type | Field and Description | 
|---|---|
| (package private) java.lang.Object[] | array | 
| (package private) int | bitmap | 
| (package private) java.util.concurrent.atomic.AtomicReference<java.lang.Thread> | edit | 
| (package private) static PersistentHashMap.BitmapIndexedNode | EMPTY | 
| Constructor and Description | 
|---|
| PersistentHashMap.BitmapIndexedNode(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
                                   int bitmap,
                                   java.lang.Object[] array) | 
| Modifier and Type | Method and Description | 
|---|---|
| PersistentHashMap.INode | assoc(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
     int shift,
     int hash,
     java.lang.Object key,
     java.lang.Object val,
     Box addedLeaf) | 
| PersistentHashMap.INode | assoc(int shift,
     int hash,
     java.lang.Object key,
     java.lang.Object val,
     Box addedLeaf) | 
| private PersistentHashMap.BitmapIndexedNode | editAndRemovePair(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
                 int bit,
                 int i) | 
| private PersistentHashMap.BitmapIndexedNode | editAndSet(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
          int i,
          java.lang.Object a) | 
| private PersistentHashMap.BitmapIndexedNode | editAndSet(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
          int i,
          java.lang.Object a,
          int j,
          java.lang.Object b) | 
| private PersistentHashMap.BitmapIndexedNode | ensureEditable(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit) | 
| IMapEntry | find(int shift,
    int hash,
    java.lang.Object key) | 
| java.lang.Object | find(int shift,
    int hash,
    java.lang.Object key,
    java.lang.Object notFound) | 
| java.lang.Object | fold(IFn combinef,
    IFn reducef,
    IFn fjtask,
    IFn fjfork,
    IFn fjjoin) | 
| (package private) int | index(int bit) | 
| java.lang.Object | kvreduce(IFn f,
        java.lang.Object init) | 
| ISeq | nodeSeq() | 
| PersistentHashMap.INode | without(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
       int shift,
       int hash,
       java.lang.Object key,
       Box removedLeaf) | 
| PersistentHashMap.INode | without(int shift,
       int hash,
       java.lang.Object key) | 
static final PersistentHashMap.BitmapIndexedNode EMPTY
int bitmap
java.lang.Object[] array
final java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit
PersistentHashMap.BitmapIndexedNode(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
                                   int bitmap,
                                   java.lang.Object[] array)
final int index(int bit)
public PersistentHashMap.INode assoc(int shift, int hash, java.lang.Object key, java.lang.Object val, Box addedLeaf)
assoc in interface PersistentHashMap.INodepublic PersistentHashMap.INode without(int shift, int hash, java.lang.Object key)
without in interface PersistentHashMap.INodepublic IMapEntry find(int shift, int hash, java.lang.Object key)
find in interface PersistentHashMap.INodepublic java.lang.Object find(int shift,
                    int hash,
                    java.lang.Object key,
                    java.lang.Object notFound)
find in interface PersistentHashMap.INodepublic ISeq nodeSeq()
nodeSeq in interface PersistentHashMap.INodepublic java.lang.Object kvreduce(IFn f, java.lang.Object init)
kvreduce in interface PersistentHashMap.INodepublic java.lang.Object fold(IFn combinef, IFn reducef, IFn fjtask, IFn fjfork, IFn fjjoin)
fold in interface PersistentHashMap.INodeprivate PersistentHashMap.BitmapIndexedNode ensureEditable(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit)
private PersistentHashMap.BitmapIndexedNode editAndSet(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit, int i, java.lang.Object a)
private PersistentHashMap.BitmapIndexedNode editAndSet(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit, int i, java.lang.Object a, int j, java.lang.Object b)
private PersistentHashMap.BitmapIndexedNode editAndRemovePair(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit, int bit, int i)
public PersistentHashMap.INode assoc(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit, int shift, int hash, java.lang.Object key, java.lang.Object val, Box addedLeaf)
assoc in interface PersistentHashMap.INodepublic PersistentHashMap.INode without(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit, int shift, int hash, java.lang.Object key, Box removedLeaf)
without in interface PersistentHashMap.INode