static final class PersistentVector.TransientVector extends AFn implements ITransientVector, Counted
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) int |
cnt |
(package private) PersistentVector.Node |
root |
(package private) int |
shift |
(package private) java.lang.Object[] |
tail |
Constructor and Description |
---|
PersistentVector.TransientVector(int cnt,
int shift,
PersistentVector.Node root,
java.lang.Object[] tail) |
PersistentVector.TransientVector(PersistentVector v) |
Modifier and Type | Method and Description |
---|---|
private java.lang.Object[] |
arrayFor(int i) |
PersistentVector.TransientVector |
assoc(java.lang.Object key,
java.lang.Object val) |
PersistentVector.TransientVector |
assocN(int i,
java.lang.Object val) |
PersistentVector.TransientVector |
conj(java.lang.Object val) |
int |
count() |
private PersistentVector.Node |
doAssoc(int level,
PersistentVector.Node node,
int i,
java.lang.Object val) |
private java.lang.Object[] |
editableArrayFor(int i) |
(package private) static PersistentVector.Node |
editableRoot(PersistentVector.Node node) |
(package private) static java.lang.Object[] |
editableTail(java.lang.Object[] tl) |
(package private) void |
ensureEditable() |
(package private) PersistentVector.Node |
ensureEditable(PersistentVector.Node node) |
java.lang.Object |
invoke(java.lang.Object arg1) |
java.lang.Object |
nth(int i) |
java.lang.Object |
nth(int i,
java.lang.Object notFound) |
PersistentVector |
persistent() |
PersistentVector.TransientVector |
pop() |
private PersistentVector.Node |
popTail(int level,
PersistentVector.Node node) |
private PersistentVector.Node |
pushTail(int level,
PersistentVector.Node parent,
PersistentVector.Node tailnode) |
private int |
tailoff() |
java.lang.Object |
valAt(java.lang.Object key) |
java.lang.Object |
valAt(java.lang.Object key,
java.lang.Object notFound) |
int cnt
int shift
PersistentVector.Node root
java.lang.Object[] tail
PersistentVector.TransientVector(int cnt, int shift, PersistentVector.Node root, java.lang.Object[] tail)
PersistentVector.TransientVector(PersistentVector v)
PersistentVector.Node ensureEditable(PersistentVector.Node node)
void ensureEditable()
static PersistentVector.Node editableRoot(PersistentVector.Node node)
public PersistentVector persistent()
persistent
in interface ITransientCollection
static java.lang.Object[] editableTail(java.lang.Object[] tl)
public PersistentVector.TransientVector conj(java.lang.Object val)
conj
in interface ITransientCollection
private PersistentVector.Node pushTail(int level, PersistentVector.Node parent, PersistentVector.Node tailnode)
private final int tailoff()
private java.lang.Object[] arrayFor(int i)
private java.lang.Object[] editableArrayFor(int i)
public java.lang.Object valAt(java.lang.Object key, java.lang.Object notFound)
public java.lang.Object invoke(java.lang.Object arg1)
public java.lang.Object nth(int i, java.lang.Object notFound)
public PersistentVector.TransientVector assocN(int i, java.lang.Object val)
assocN
in interface ITransientVector
public PersistentVector.TransientVector assoc(java.lang.Object key, java.lang.Object val)
assoc
in interface ITransientAssociative
private PersistentVector.Node doAssoc(int level, PersistentVector.Node node, int i, java.lang.Object val)
public PersistentVector.TransientVector pop()
pop
in interface ITransientVector
private PersistentVector.Node popTail(int level, PersistentVector.Node node)