package blitz.collections inline fun SmartVec(initCap: Int = 0): Vec = when (T::class.java) { Char::class.java -> CharVec(initCap) as Vec Byte::class.java -> ByteVec(initCap) as Vec Short::class.java -> ShortVec(initCap) as Vec Int::class.java -> IntVec(initCap) as Vec Long::class.java -> LongVec(initCap) as Vec else -> RefVec(initCap) }