public class PersistentVector extends APersistentVector implements IObj, IEditableCollection
| Modifier and Type | Class and Description | 
|---|---|
| static class  | PersistentVector.ChunkedSeq | 
| static class  | PersistentVector.Node | 
| (package private) static class  | PersistentVector.TransientVector | 
APersistentVector.RSeq, APersistentVector.Seq, APersistentVector.SubVectorIFn.D, IFn.DD, IFn.DDD, IFn.DDDD, IFn.DDDDD, IFn.DDDDL, IFn.DDDDO, IFn.DDDL, IFn.DDDLD, IFn.DDDLL, IFn.DDDLO, IFn.DDDO, IFn.DDDOD, IFn.DDDOL, IFn.DDDOO, IFn.DDL, IFn.DDLD, IFn.DDLDD, IFn.DDLDL, IFn.DDLDO, IFn.DDLL, IFn.DDLLD, IFn.DDLLL, IFn.DDLLO, IFn.DDLO, IFn.DDLOD, IFn.DDLOL, IFn.DDLOO, IFn.DDO, IFn.DDOD, IFn.DDODD, IFn.DDODL, IFn.DDODO, IFn.DDOL, IFn.DDOLD, IFn.DDOLL, IFn.DDOLO, IFn.DDOO, IFn.DDOOD, IFn.DDOOL, IFn.DDOOO, IFn.DL, IFn.DLD, IFn.DLDD, IFn.DLDDD, IFn.DLDDL, IFn.DLDDO, IFn.DLDL, IFn.DLDLD, IFn.DLDLL, IFn.DLDLO, IFn.DLDO, IFn.DLDOD, IFn.DLDOL, IFn.DLDOO, IFn.DLL, IFn.DLLD, IFn.DLLDD, IFn.DLLDL, IFn.DLLDO, IFn.DLLL, IFn.DLLLD, IFn.DLLLL, IFn.DLLLO, IFn.DLLO, IFn.DLLOD, IFn.DLLOL, IFn.DLLOO, IFn.DLO, IFn.DLOD, IFn.DLODD, IFn.DLODL, IFn.DLODO, IFn.DLOL, IFn.DLOLD, IFn.DLOLL, IFn.DLOLO, IFn.DLOO, IFn.DLOOD, IFn.DLOOL, IFn.DLOOO, IFn.DO, IFn.DOD, IFn.DODD, IFn.DODDD, IFn.DODDL, IFn.DODDO, IFn.DODL, IFn.DODLD, IFn.DODLL, IFn.DODLO, IFn.DODO, IFn.DODOD, IFn.DODOL, IFn.DODOO, IFn.DOL, IFn.DOLD, IFn.DOLDD, IFn.DOLDL, IFn.DOLDO, IFn.DOLL, IFn.DOLLD, IFn.DOLLL, IFn.DOLLO, IFn.DOLO, IFn.DOLOD, IFn.DOLOL, IFn.DOLOO, IFn.DOO, IFn.DOOD, IFn.DOODD, IFn.DOODL, IFn.DOODO, IFn.DOOL, IFn.DOOLD, IFn.DOOLL, IFn.DOOLO, IFn.DOOO, IFn.DOOOD, IFn.DOOOL, IFn.DOOOO, IFn.L, IFn.LD, IFn.LDD, IFn.LDDD, IFn.LDDDD, IFn.LDDDL, IFn.LDDDO, IFn.LDDL, IFn.LDDLD, IFn.LDDLL, IFn.LDDLO, IFn.LDDO, IFn.LDDOD, IFn.LDDOL, IFn.LDDOO, IFn.LDL, IFn.LDLD, IFn.LDLDD, IFn.LDLDL, IFn.LDLDO, IFn.LDLL, IFn.LDLLD, IFn.LDLLL, IFn.LDLLO, IFn.LDLO, IFn.LDLOD, IFn.LDLOL, IFn.LDLOO, IFn.LDO, IFn.LDOD, IFn.LDODD, IFn.LDODL, IFn.LDODO, IFn.LDOL, IFn.LDOLD, IFn.LDOLL, IFn.LDOLO, IFn.LDOO, IFn.LDOOD, IFn.LDOOL, IFn.LDOOO, IFn.LL, IFn.LLD, IFn.LLDD, IFn.LLDDD, IFn.LLDDL, IFn.LLDDO, IFn.LLDL, IFn.LLDLD, IFn.LLDLL, IFn.LLDLO, IFn.LLDO, IFn.LLDOD, IFn.LLDOL, IFn.LLDOO, IFn.LLL, IFn.LLLD, IFn.LLLDD, IFn.LLLDL, IFn.LLLDO, IFn.LLLL, IFn.LLLLD, IFn.LLLLL, IFn.LLLLO, IFn.LLLO, IFn.LLLOD, IFn.LLLOL, IFn.LLLOO, IFn.LLO, IFn.LLOD, IFn.LLODD, IFn.LLODL, IFn.LLODO, IFn.LLOL, IFn.LLOLD, IFn.LLOLL, IFn.LLOLO, IFn.LLOO, IFn.LLOOD, IFn.LLOOL, IFn.LLOOO, IFn.LO, IFn.LOD, IFn.LODD, IFn.LODDD, IFn.LODDL, IFn.LODDO, IFn.LODL, IFn.LODLD, IFn.LODLL, IFn.LODLO, IFn.LODO, IFn.LODOD, IFn.LODOL, IFn.LODOO, IFn.LOL, IFn.LOLD, IFn.LOLDD, IFn.LOLDL, IFn.LOLDO, IFn.LOLL, IFn.LOLLD, IFn.LOLLL, IFn.LOLLO, IFn.LOLO, IFn.LOLOD, IFn.LOLOL, IFn.LOLOO, IFn.LOO, IFn.LOOD, IFn.LOODD, IFn.LOODL, IFn.LOODO, IFn.LOOL, IFn.LOOLD, IFn.LOOLL, IFn.LOOLO, IFn.LOOO, IFn.LOOOD, IFn.LOOOL, IFn.LOOOO, IFn.OD, IFn.ODD, IFn.ODDD, IFn.ODDDD, IFn.ODDDL, IFn.ODDDO, IFn.ODDL, IFn.ODDLD, IFn.ODDLL, IFn.ODDLO, IFn.ODDO, IFn.ODDOD, IFn.ODDOL, IFn.ODDOO, IFn.ODL, IFn.ODLD, IFn.ODLDD, IFn.ODLDL, IFn.ODLDO, IFn.ODLL, IFn.ODLLD, IFn.ODLLL, IFn.ODLLO, IFn.ODLO, IFn.ODLOD, IFn.ODLOL, IFn.ODLOO, IFn.ODO, IFn.ODOD, IFn.ODODD, IFn.ODODL, IFn.ODODO, IFn.ODOL, IFn.ODOLD, IFn.ODOLL, IFn.ODOLO, IFn.ODOO, IFn.ODOOD, IFn.ODOOL, IFn.ODOOO, IFn.OL, IFn.OLD, IFn.OLDD, IFn.OLDDD, IFn.OLDDL, IFn.OLDDO, IFn.OLDL, IFn.OLDLD, IFn.OLDLL, IFn.OLDLO, IFn.OLDO, IFn.OLDOD, IFn.OLDOL, IFn.OLDOO, IFn.OLL, IFn.OLLD, IFn.OLLDD, IFn.OLLDL, IFn.OLLDO, IFn.OLLL, IFn.OLLLD, IFn.OLLLL, IFn.OLLLO, IFn.OLLO, IFn.OLLOD, IFn.OLLOL, IFn.OLLOO, IFn.OLO, IFn.OLOD, IFn.OLODD, IFn.OLODL, IFn.OLODO, IFn.OLOL, IFn.OLOLD, IFn.OLOLL, IFn.OLOLO, IFn.OLOO, IFn.OLOOD, IFn.OLOOL, IFn.OLOOO, IFn.OOD, IFn.OODD, IFn.OODDD, IFn.OODDL, IFn.OODDO, IFn.OODL, IFn.OODLD, IFn.OODLL, IFn.OODLO, IFn.OODO, IFn.OODOD, IFn.OODOL, IFn.OODOO, IFn.OOL, IFn.OOLD, IFn.OOLDD, IFn.OOLDL, IFn.OOLDO, IFn.OOLL, IFn.OOLLD, IFn.OOLLL, IFn.OOLLO, IFn.OOLO, IFn.OOLOD, IFn.OOLOL, IFn.OOLOO, IFn.OOOD, IFn.OOODD, IFn.OOODL, IFn.OOODO, IFn.OOOL, IFn.OOOLD, IFn.OOOLL, IFn.OOOLO, IFn.OOOOD, IFn.OOOOL| Modifier and Type | Field and Description | 
|---|---|
| (package private) IPersistentMap | _meta | 
| (package private) int | cnt | 
| static PersistentVector | EMPTY | 
| static PersistentVector.Node | EMPTY_NODE | 
| (package private) static java.util.concurrent.atomic.AtomicReference<java.lang.Thread> | NOEDIT | 
| PersistentVector.Node | root | 
| int | shift | 
| java.lang.Object[] | tail | 
_hash, _hasheq| Constructor and Description | 
|---|
| PersistentVector(int cnt,
                int shift,
                PersistentVector.Node root,
                java.lang.Object[] tail) | 
| PersistentVector(IPersistentMap meta,
                int cnt,
                int shift,
                PersistentVector.Node root,
                java.lang.Object[] tail) | 
| Modifier and Type | Method and Description | 
|---|---|
| java.lang.Object[] | arrayFor(int i) | 
| PersistentVector | assocN(int i,
      java.lang.Object val) | 
| PersistentVector.TransientVector | asTransient() | 
| IChunkedSeq | chunkedSeq() | 
| PersistentVector | cons(java.lang.Object val) | 
| int | count() | 
| static PersistentVector | create(ISeq items) | 
| static PersistentVector | create(java.util.List items) | 
| static PersistentVector | create(java.lang.Object... items) | 
| private static PersistentVector.Node | doAssoc(int level,
       PersistentVector.Node node,
       int i,
       java.lang.Object val) | 
| IPersistentCollection | empty() | 
| java.util.Iterator | iterator() | 
| java.lang.Object | kvreduce(IFn f,
        java.lang.Object init) | 
| IPersistentMap | meta() | 
| private static PersistentVector.Node | newPath(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit,
       int level,
       PersistentVector.Node node) | 
| java.lang.Object | nth(int i) | 
| java.lang.Object | nth(int i,
   java.lang.Object notFound) | 
| PersistentVector | pop() | 
| private PersistentVector.Node | popTail(int level,
       PersistentVector.Node node) | 
| private PersistentVector.Node | pushTail(int level,
        PersistentVector.Node parent,
        PersistentVector.Node tailnode) | 
| (package private) java.util.Iterator | rangedIterator(int start,
              int end) | 
| ISeq | seq() | 
| (package private) int | tailoff() | 
| PersistentVector | withMeta(IPersistentMap meta) | 
add, add, addAll, addAll, assoc, clear, compareTo, contains, containsAll, containsKey, doEquals, doEquiv, entryAt, equals, equiv, get, hashCode, hasheq, indexOf, invoke, isEmpty, lastIndexOf, length, listIterator, listIterator, peek, remove, remove, removeAll, retainAll, rseq, set, size, subList, toArray, toArray, toString, valAt, valAtstatic final java.util.concurrent.atomic.AtomicReference<java.lang.Thread> NOEDIT
public static final PersistentVector.Node EMPTY_NODE
final int cnt
public final int shift
public final PersistentVector.Node root
public final java.lang.Object[] tail
final IPersistentMap _meta
public static final PersistentVector EMPTY
PersistentVector(int cnt,
                int shift,
                PersistentVector.Node root,
                java.lang.Object[] tail)
PersistentVector(IPersistentMap meta, int cnt, int shift, PersistentVector.Node root, java.lang.Object[] tail)
public static PersistentVector create(ISeq items)
public static PersistentVector create(java.util.List items)
public static PersistentVector create(java.lang.Object... items)
public PersistentVector.TransientVector asTransient()
asTransient in interface IEditableCollectionfinal int tailoff()
public java.lang.Object[] arrayFor(int i)
public java.lang.Object nth(int i,
                   java.lang.Object notFound)
nth in interface Indexednth in class APersistentVectorpublic PersistentVector assocN(int i, java.lang.Object val)
assocN in interface IPersistentVectorprivate static PersistentVector.Node doAssoc(int level, PersistentVector.Node node, int i, java.lang.Object val)
public int count()
count in interface Countedcount in interface IPersistentCollectionpublic PersistentVector withMeta(IPersistentMap meta)
public IPersistentMap meta()
public PersistentVector cons(java.lang.Object val)
cons in interface IPersistentCollectioncons in interface IPersistentVectorprivate PersistentVector.Node pushTail(int level, PersistentVector.Node parent, PersistentVector.Node tailnode)
private static PersistentVector.Node newPath(java.util.concurrent.atomic.AtomicReference<java.lang.Thread> edit, int level, PersistentVector.Node node)
public IChunkedSeq chunkedSeq()
public ISeq seq()
seq in interface Seqableseq in class APersistentVectorjava.util.Iterator rangedIterator(int start,
                                int end)
public java.util.Iterator iterator()
iterator in interface java.lang.Iterableiterator in interface java.util.Collectioniterator in interface java.util.Listiterator in class APersistentVectorpublic java.lang.Object kvreduce(IFn f, java.lang.Object init)
public IPersistentCollection empty()
empty in interface IPersistentCollectionpublic PersistentVector pop()
pop in interface IPersistentStackprivate PersistentVector.Node popTail(int level, PersistentVector.Node node)