MCPcopy Create free account
hub / github.com/catboost/catboost / SaveColumnData

Function SaveColumnData

catboost/libs/data/objects.cpp:1211–1236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1209
1210template <class TColumn>
1211static void SaveColumnData(
1212 const TColumn& column,
1213 NPar::ILocalExecutor* localExecutor,
1214 IBinSaver* binSaver
1215) {
1216 if (auto* packedBinaryValues
1217 = dynamic_cast<const TPackedBinaryValuesHolderImpl<TColumn>*>(&column))
1218 {
1219 SaveMulti(binSaver, ESavedColumnType::PackedBinary, packedBinaryValues->GetBitIdx());
1220 } else if (auto* bundlePartValues
1221 = dynamic_cast<const TBundlePartValuesHolderImpl<TColumn>*>(&column))
1222 {
1223 SaveMulti(binSaver, ESavedColumnType::BundlePart, bundlePartValues->GetBoundsInBundle());
1224 } else if (
1225 auto* sparseValues
1226 = dynamic_cast<const TSparseCompressedValuesHolderImpl<TColumn>*>(&column))
1227 {
1228 SaveMulti(binSaver, ESavedColumnType::Sparse, sparseValues->GetData());
1229 } else {
1230 /* TODO(akhropov): specialize for TCompressedValuesHolderImpl
1231 * useful if in fact bitsPerKey < sizeof(T) * CHAR_BIT
1232 */
1233 SaveMulti(binSaver, ESavedColumnType::Dense);
1234 SaveAsCompressedArray<typename TColumn::TValueType>(column.template ExtractValues<typename TColumn::TValueType>(localExecutor), binSaver);
1235 }
1236}
1237
1238
1239template <EFeatureType FeatureType, class TColumn>

Callers 2

SaveFeaturesFunction · 0.85
SaveMethod · 0.85

Calls 4

SaveMultiFunction · 0.85
GetBitIdxMethod · 0.80
GetBoundsInBundleMethod · 0.80
GetDataMethod · 0.45

Tested by

no test coverage detected