Medial Code Documentation
Loading...
Searching...
No Matches
objective_helpers.h
1
4#pragma once
5
6#include <dmlc/registry.h> // for Registry
7#include <gtest/gtest.h>
8#include <xgboost/objective.h> // for ObjFunctionReg
9
10#include <algorithm> // for transform
11#include <iterator> // for back_insert_iterator, back_inserter
12#include <string> // for string
13#include <vector> // for vector
14
15namespace xgboost {
16inline auto MakeObjNamesForTest() {
18 std::vector<std::string> names;
19 std::transform(list.cbegin(), list.cend(), std::back_inserter(names),
20 [](auto const* entry) { return entry->name; });
21 return names;
22}
23
24template <typename ParamType>
25inline std::string ObjTestNameGenerator(const ::testing::TestParamInfo<ParamType>& info) {
26 auto name = std::string{info.param};
27 // Name must be a valid c++ symbol
28 auto it = std::find(name.cbegin(), name.cend(), ':');
29 if (it != name.cend()) {
30 name[std::distance(name.cbegin(), it)] = '_';
31 }
32 return name;
33};
34
35std::shared_ptr<DMatrix> MakeFmatForObjTest(std::string const& obj);
36} // namespace xgboost
static const std::vector< const EntryType * > & List()
Definition registry.h:30
namespace of xgboost
Definition base.h:90
Copyright 2014-2023 by XGBoost Contributors.
Registry utility that helps to build registry singletons.