Commit 6b73b4ae authored by Guolin Ke's avatar Guolin Ke
Browse files

Add LGBM_DatasetGetFeatureNames in c_api

parent b7ed7395
......@@ -165,6 +165,20 @@ DllExport int LGBM_DatasetSetFeatureNames(
const char** feature_names,
int64_t num_feature_names);
/*!
* \brief get feature names of Dataset
* \param handle handle
* \param feature_names feature names, should pre-allocate memory
* \param num_feature_names number of feature names
* \return 0 when succeed, -1 when failure happens
*/
DllExport int LGBM_DatasetGetFeatureNames(
DatasetHandle handle,
char** feature_names,
int64_t* num_feature_names);
/*!
* \brief free space for dataset
* \return 0 when succeed, -1 when failure happens
......
......@@ -496,6 +496,20 @@ DllExport int LGBM_DatasetSetFeatureNames(
API_END();
}
DllExport int LGBM_DatasetGetFeatureNames(
DatasetHandle handle,
char** feature_names,
int64_t* num_feature_names) {
API_BEGIN();
auto dataset = reinterpret_cast<Dataset*>(handle);
auto inside_feature_name = dataset->feature_names();
*num_feature_names = static_cast<int64_t>(inside_feature_name.size());
for (int64_t i = 0; i < *num_feature_names; ++i) {
std::strcpy(feature_names[i], inside_feature_name[i].c_str());
}
API_END();
}
DllExport int LGBM_DatasetFree(DatasetHandle handle) {
API_BEGIN();
delete reinterpret_cast<Dataset*>(handle);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment