comparison include/core/strings.h @ 347:a0aa8c8c4307

dep/anitomy: port to use UCS-4 rather than wide strings rationale: wide strings are not the same on every platform, and might not even be Unicode. (while they usually are, its possible that they are not) I was *going* to change StringToInt to use a string stream, but outputting to an integer doesn't seem to work at all with UCS-4, even though it ought to, so I just rolled my own that uses the arabic digits only.
author Paper <paper@paper.us.eu.org>
date Sun, 23 Jun 2024 10:32:09 -0400
parents c32467cd06bb
children 6b0768158dcd
comparison
equal deleted inserted replaced
346:e65b89bcc528 347:a0aa8c8c4307
38 std::wstring ToWstring(const std::string& string); 38 std::wstring ToWstring(const std::string& string);
39 std::wstring ToWstring(const QString& string); 39 std::wstring ToWstring(const QString& string);
40 std::string ToUtf8String(const std::wstring& wstring); 40 std::string ToUtf8String(const std::wstring& wstring);
41 std::string ToUtf8String(const QString& string); 41 std::string ToUtf8String(const QString& string);
42 std::string ToUtf8String(const QByteArray& ba); 42 std::string ToUtf8String(const QByteArray& ba);
43 std::string ToUtf8String(const std::u32string& u32string);
44 std::u32string ToUcs4String(const std::string& string);
43 QString ToQString(const std::string& string); 45 QString ToQString(const std::string& string);
44 QString ToQString(const std::wstring& wstring); 46 QString ToQString(const std::wstring& wstring);
45 47
46 /* not really an "int"... but who cares? */ 48 /* not really an "int"... but who cares? */
47 template<typename T = int, std::enable_if_t<std::is_arithmetic<T>::value, bool> = true> 49 template<typename T = int, std::enable_if_t<std::is_arithmetic<T>::value, bool> = true>