Andrew Ziem 3e7e426b36
Fix spelling in documents (#6948)
* Update roxygen2 doc.

Co-authored-by: fis <jm.yuan@outlook.com>
2021-05-11 20:44:36 +08:00

47 lines
1.1 KiB
C++

/*!
* Copyright (c) 2019 by Contributors
* \file model.h
* \brief Defines the abstract interface for different components in XGBoost.
*/
#ifndef XGBOOST_MODEL_H_
#define XGBOOST_MODEL_H_
namespace dmlc {
class Stream;
} // namespace dmlc
namespace xgboost {
class Json;
struct Model {
virtual ~Model() = default;
/*!
* \brief load the model from a JSON object
* \param in JSON object where to load the model from
*/
virtual void LoadModel(Json const& in) = 0;
/*!
* \brief saves the model config to a JSON object
* \param out JSON container where to save the model to
*/
virtual void SaveModel(Json* out) const = 0;
};
struct Configurable {
virtual ~Configurable() = default;
/*!
* \brief Load configuration from JSON object
* \param in JSON object containing the configuration
*/
virtual void LoadConfig(Json const& in) = 0;
/*!
* \brief Save configuration to JSON object
* \param out pointer to output JSON object
*/
virtual void SaveConfig(Json* out) const = 0;
};
} // namespace xgboost
#endif // XGBOOST_MODEL_H_