static public IPersistentVector create(object obj) { IReduceInit ri = obj as IReduceInit; if (ri != null) { return(PersistentVector.create(ri)); } ISeq iseq = obj as ISeq; if (iseq != null) { return(PersistentVector.create(RT.seq(obj))); } IEnumerable ie = obj as IEnumerable; if (ie != null) { return(PersistentVector.create1(ie)); } return(createOwning(RT.toArray(obj))); }
static public PersistentVector create(IReduceInit items) { TransientVector ret = (TransientVector)EMPTY.asTransient(); items.reduce(_transientVectorConj, ret); return((PersistentVector)ret.persistent()); }
static public IPersistentVector create(object obj) { //if ((obj is Counted || RT.SupportsRandomAccess(obj)) // && fcount(obj) <= Tuple.MAX_SIZE) // return Tuple.createFromColl(obj); IReduceInit ri = obj as IReduceInit; if (ri != null) { return(PersistentVector.create(ri)); } ISeq iseq = obj as ISeq; if (iseq != null) { return(PersistentVector.create(RT.seq(obj))); } IEnumerable ie = obj as IEnumerable; if (ie != null) { return(PersistentVector.create1(ie)); } return(createOwning(RT.toArray(obj))); }
public static PersistentVector create(IReduceInit items) { TransientVector ret = (TransientVector)EMPTY.asTransient(); items.reduce(_transientVectorConj, ret); return (PersistentVector)ret.persistent(); }