0
|
1 #ifndef ANIMONE_ANIMONE_UTIL_H_
|
|
2 #define ANIMONE_ANIMONE_UTIL_H_
|
|
3
|
|
4 #include <sstream>
|
|
5 #include <string>
|
|
6
|
|
7 namespace animone::internal::util {
|
|
8
|
|
9 bool ReadFile(const std::string& path, std::string& data);
|
|
10 bool EqualStrings(const std::string& str1, const std::string& str2);
|
|
11 bool Stem(const std::string& filename, std::string& stem);
|
|
12 bool CheckPattern(const std::string& pattern, const std::string& str);
|
|
13 bool TrimLeft(std::string& str, const char* chars);
|
|
14 bool TrimRight(std::string& str, const char* chars);
|
|
15
|
|
16 template<typename T = int, std::enable_if_t<std::is_integral<T>::value, bool> = true>
|
|
17 T StringToInt(const std::string& str, T def = 0) {
|
|
18 std::istringstream s(str);
|
|
19 s >> std::noboolalpha >> def;
|
|
20 return def;
|
|
21 }
|
|
22
|
|
23 } // namespace animone::internal::util
|
|
24
|
|
25 #endif // ANIMONE_ANIMONE_UTIL_H_
|