comparison include/core/strings.h @ 320:1b5c04268d6a

services/kitsu: ACTUALLY finish GetAnimeList there are some things the API just... doesn't provide. therefore we have to request the genres separately any time a new anime info box is opened...
author Paper <paper@paper.us.eu.org>
date Wed, 12 Jun 2024 19:49:19 -0400
parents f31305b9f60a
children c32467cd06bb
comparison
equal deleted inserted replaced
319:d928ec7b6a0d 320:1b5c04268d6a
15 15
16 /* Implode function: takes a vector of strings and turns it 16 /* Implode function: takes a vector of strings and turns it
17 * into a string, separated by delimiters. 17 * into a string, separated by delimiters.
18 */ 18 */
19 std::string Implode(const std::vector<std::string>& vector, const std::string& delimiter); 19 std::string Implode(const std::vector<std::string>& vector, const std::string& delimiter);
20 std::string Implode(const std::set<std::string>& set, const std::string& delimiter);
21 std::vector<std::string> Split(const std::string& text, const std::string& delimiter); 20 std::vector<std::string> Split(const std::string& text, const std::string& delimiter);
22 21
23 /* Substring removal functions */ 22 /* Substring removal functions */
24 void ReplaceAll(std::string& string, std::string_view find, std::string_view replace); 23 void ReplaceAll(std::string& string, std::string_view find, std::string_view replace);
25 void SanitizeLineEndings(std::string& string); 24 void SanitizeLineEndings(std::string& string);
46 std::string ToUtf8String(const QByteArray& ba); 45 std::string ToUtf8String(const QByteArray& ba);
47 QString ToQString(const std::string& string); 46 QString ToQString(const std::string& string);
48 QString ToQString(const std::wstring& wstring); 47 QString ToQString(const std::wstring& wstring);
49 48
50 /* not really an "int"... but who cares? */ 49 /* not really an "int"... but who cares? */
51 template<typename T = int, std::enable_if_t<std::is_integral<T>::value, bool> = true> 50 template<typename T = int, std::enable_if_t<std::is_arithmetic<T>::value, bool> = true>
52 T ToInt(const std::string& str, T def = 0) { 51 T ToInt(const std::string& str, T def = 0) {
53 std::istringstream s(str); 52 std::istringstream s(str);
54 s >> std::noboolalpha >> def; 53 s >> std::noboolalpha >> def;
55 return def; 54 return def;
56 } 55 }