@@ -16,13 +16,13 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnResolutionContext
1616import org.jetbrains.kotlinx.dataframe.columns.ColumnWithPath
1717import org.jetbrains.kotlinx.dataframe.columns.FrameColumn
1818import org.jetbrains.kotlinx.dataframe.columns.ValueColumn
19- import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnDataHolderImpl
20- import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnDataHolderImpl
2119import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnGroupImpl
2220import org.jetbrains.kotlinx.dataframe.impl.columns.FrameColumnImpl
2321import org.jetbrains.kotlinx.dataframe.impl.columns.ValueColumnImpl
2422import org.jetbrains.kotlinx.dataframe.impl.columns.addPath
2523import org.jetbrains.kotlinx.dataframe.impl.columns.guessColumnType
24+ import org.jetbrains.kotlinx.dataframe.impl.columns.ofCollection
25+ import org.jetbrains.kotlinx.dataframe.impl.columns.ofBoxedArray
2626import org.jetbrains.kotlinx.dataframe.impl.columns.toColumnKind
2727import org.jetbrains.kotlinx.dataframe.impl.getValuesType
2828import org.jetbrains.kotlinx.dataframe.impl.splitByIndices
@@ -51,65 +51,41 @@ public interface DataColumn<out T> : BaseColumn<T> {
5151 defaultValue : T ? = null,
5252 ): ValueColumn <T > = ValueColumnImpl (values, name, type, defaultValue)
5353
54- public fun createValueColumn (
55- name : String ,
56- values : BooleanArray ,
57- ): ValueColumn <Boolean > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Boolean >())
54+ public fun createValueColumn (name : String , values : BooleanArray ): ValueColumn <Boolean > =
55+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Boolean >())
5856
59- public fun createValueColumn (
60- name : String ,
61- values : ByteArray ,
62- ): ValueColumn <Byte > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Byte >())
57+ public fun createValueColumn (name : String , values : ByteArray ): ValueColumn <Byte > =
58+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Byte >())
6359
64- public fun createValueColumn (
65- name : String ,
66- values : ShortArray ,
67- ): ValueColumn <Short > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Short >())
60+ public fun createValueColumn (name : String , values : ShortArray ): ValueColumn <Short > =
61+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Short >())
6862
69- public fun createValueColumn (
70- name : String ,
71- values : IntArray ,
72- ): ValueColumn <Int > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Int >())
63+ public fun createValueColumn (name : String , values : IntArray ): ValueColumn <Int > =
64+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Int >())
7365
74- public fun createValueColumn (
75- name : String ,
76- values : LongArray ,
77- ): ValueColumn <Long > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Long >())
66+ public fun createValueColumn (name : String , values : LongArray ): ValueColumn <Long > =
67+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Long >())
7868
79- public fun createValueColumn (
80- name : String ,
81- values : FloatArray ,
82- ): ValueColumn <Float > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Float >())
69+ public fun createValueColumn (name : String , values : FloatArray ): ValueColumn <Float > =
70+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Float >())
8371
84- public fun createValueColumn (
85- name : String ,
86- values : DoubleArray ,
87- ): ValueColumn <Double > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Double >())
72+ public fun createValueColumn (name : String , values : DoubleArray ): ValueColumn <Double > =
73+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Double >())
8874
89- public fun createValueColumn (
90- name : String ,
91- values : CharArray ,
92- ): ValueColumn <Char > = createValueColumn(name, values.asColumnDataHolder(), typeOf<Char >())
75+ public fun createValueColumn (name : String , values : CharArray ): ValueColumn <Char > =
76+ createValueColumn(name, values.asColumnDataHolder(), typeOf<Char >())
9377
94- public fun createValueColumn (
95- name : String ,
96- values : UByteArray ,
97- ): ValueColumn <UByte > = createValueColumn(name, values.asColumnDataHolder(), typeOf<UByte >())
78+ public fun createValueColumn (name : String , values : UByteArray ): ValueColumn <UByte > =
79+ createValueColumn(name, values.asColumnDataHolder(), typeOf<UByte >())
9880
99- public fun createValueColumn (
100- name : String ,
101- values : UShortArray ,
102- ): ValueColumn <UShort > = createValueColumn(name, values.asColumnDataHolder(), typeOf<UShort >())
81+ public fun createValueColumn (name : String , values : UShortArray ): ValueColumn <UShort > =
82+ createValueColumn(name, values.asColumnDataHolder(), typeOf<UShort >())
10383
104- public fun createValueColumn (
105- name : String ,
106- values : UIntArray ,
107- ): ValueColumn <UInt > = createValueColumn(name, values.asColumnDataHolder(), typeOf<UInt >())
84+ public fun createValueColumn (name : String , values : UIntArray ): ValueColumn <UInt > =
85+ createValueColumn(name, values.asColumnDataHolder(), typeOf<UInt >())
10886
109- public fun createValueColumn (
110- name : String ,
111- values : ULongArray ,
112- ): ValueColumn <ULong > = createValueColumn(name, values.asColumnDataHolder(), typeOf<ULong >())
87+ public fun createValueColumn (name : String , values : ULongArray ): ValueColumn <ULong > =
88+ createValueColumn(name, values.asColumnDataHolder(), typeOf<ULong >())
11389
11490 /* *
11591 * Creates [ValueColumn] using given [name], [values] and [type].
@@ -129,9 +105,9 @@ public interface DataColumn<out T> : BaseColumn<T> {
129105 val valueType = getValuesType(values, type, infer)
130106 return createValueColumn(
131107 name = name,
132- values = ColumnDataHolderImpl .of (values, valueType),
108+ values = ColumnDataHolder .ofCollection (values, valueType),
133109 type = valueType,
134- defaultValue = defaultValue
110+ defaultValue = defaultValue,
135111 )
136112 }
137113
@@ -170,26 +146,31 @@ public interface DataColumn<out T> : BaseColumn<T> {
170146 val valueType = getValuesType(values.asList(), type, infer)
171147 return createValueColumn(
172148 name = name,
173- values = ColumnDataHolderImpl .of (values, valueType),
149+ values = ColumnDataHolder .ofBoxedArray (values, valueType),
174150 type = valueType,
175- defaultValue = defaultValue
151+ defaultValue = defaultValue,
176152 )
177153 }
178154
179155 public inline fun <reified T > createValueColumn (
180156 name : String ,
181157 values : Array <T >,
182158 infer : Infer = Infer .None ,
183- ): ValueColumn <T > = createValueColumn(
184- name = name,
185- values = values,
186- type = getValuesType(values.asList(), typeOf<T >(), infer)
187- )
159+ ): ValueColumn <T > =
160+ createValueColumn(
161+ name = name,
162+ values = values,
163+ type = getValuesType(values.asList(), typeOf<T >(), infer),
164+ )
188165
189166 public fun <T > createColumnGroup (name : String , df : DataFrame <T >): ColumnGroup <T > = ColumnGroupImpl (name, df)
190167
191168 public fun <T > createFrameColumn (name : String , df : DataFrame <T >, startIndices : Iterable <Int >): FrameColumn <T > =
192- FrameColumnImpl (name, df.splitByIndices(startIndices.asSequence()).toList().toColumnDataHolder(), lazy { df.schema() })
169+ FrameColumnImpl (
170+ name,
171+ df.splitByIndices(startIndices.asSequence()).toList().toColumnDataHolder(),
172+ lazy { df.schema() },
173+ )
193174
194175 public fun <T > createFrameColumn (
195176 name : String ,
0 commit comments