treelite
common.h
1 
7 #ifndef TREELITE_COMMON_H_
8 #define TREELITE_COMMON_H_
9 
10 #include <memory>
11 
12 namespace treelite {
13 namespace common {
14 
24 template<typename T, typename ...Args>
25 std::unique_ptr<T> make_unique(Args&& ...args) {
26  return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
27 }
28 
35 inline std::vector<std::string> Split(const std::string& text, char delim) {
36  std::vector<std::string> array;
37  std::istringstream ss(text);
38  std::string token;
39  while (std::getline(ss, token, delim)) {
40  array.push_back(token);
41  }
42  return array;
43 }
44 
45 } // namespace common
46 } // namespace treelite
47 #endif // TREELITE_COMMON_H_