| 1052 | |
| 1053 | template <class TColumn> |
| 1054 | static void LoadNonBundledColumnData( |
| 1055 | ui32 flatFeatureIdx, |
| 1056 | bool isSparse, |
| 1057 | const TFeaturesArraySubsetIndexing* newSubsetIndexing, |
| 1058 | IBinSaver* binSaver, |
| 1059 | THolder<TColumn>* column |
| 1060 | ) { |
| 1061 | if (isSparse) { |
| 1062 | TSparseCompressedArray<typename TColumn::TValueType, ui32> data; |
| 1063 | LoadMulti(binSaver, &data); |
| 1064 | *column = MakeHolder<TSparseCompressedValuesHolderImpl<TColumn>>( |
| 1065 | flatFeatureIdx, |
| 1066 | std::move(data) |
| 1067 | ); |
| 1068 | } else { |
| 1069 | *column = MakeHolder<TCompressedValuesHolderImpl<TColumn>>( |
| 1070 | flatFeatureIdx, |
| 1071 | LoadAsCompressedArray(binSaver), |
| 1072 | newSubsetIndexing |
| 1073 | ); |
| 1074 | } |
| 1075 | } |
| 1076 | |
| 1077 | template <EFeatureType FeatureType, class TColumn> |
| 1078 | static void LoadFeatures( |
no test coverage detected