use std::default::Default;
#[cfg(feature = "use_serde")]
use serde::{Deserialize, Serialize};
use super::{linear, tree};
#[derive(Clone)]
#[cfg_attr(feature = "use_serde", derive(Deserialize, Serialize))]
pub enum BoosterType {
Tree(tree::TreeBoosterParameters),
Linear(linear::LinearBoosterParameters),
}
impl Default for BoosterType {
fn default() -> Self {
BoosterType::Tree(tree::TreeBoosterParameters::default())
}
}
impl BoosterType {
pub(crate) fn as_string_pairs(&self) -> Vec<(String, String)> {
match *self {
BoosterType::Tree(ref p) => p.as_string_pairs(),
BoosterType::Linear(ref p) => p.as_string_pairs(),
}
}
}