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.SubVector
IFn.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, valAt
static 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 IEditableCollection
final int tailoff()
public java.lang.Object[] arrayFor(int i)
public java.lang.Object nth(int i, java.lang.Object notFound)
nth
in interface Indexed
nth
in class APersistentVector
public PersistentVector assocN(int i, java.lang.Object val)
assocN
in interface IPersistentVector
private static PersistentVector.Node doAssoc(int level, PersistentVector.Node node, int i, java.lang.Object val)
public int count()
count
in interface Counted
count
in interface IPersistentCollection
public PersistentVector withMeta(IPersistentMap meta)
public IPersistentMap meta()
public PersistentVector cons(java.lang.Object val)
cons
in interface IPersistentCollection
cons
in interface IPersistentVector
private 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 Seqable
seq
in class APersistentVector
java.util.Iterator rangedIterator(int start, int end)
public java.util.Iterator iterator()
iterator
in interface java.lang.Iterable
iterator
in interface java.util.Collection
iterator
in interface java.util.List
iterator
in class APersistentVector
public java.lang.Object kvreduce(IFn f, java.lang.Object init)
public IPersistentCollection empty()
empty
in interface IPersistentCollection
public PersistentVector pop()
pop
in interface IPersistentStack
private PersistentVector.Node popTail(int level, PersistentVector.Node node)