1 #ifndef __KSTLSTRING_H__
2 #define __KSTLSTRING_H__
4 #include "Platform/Core/CorePlatformDefines.h"
9 #ifndef _NO_KSTL_OVERLOADING_
11 #include "CoreSTLAllocator.h"
15 using string = std::basic_string<char, std::char_traits<char>, CoreSTLAllocator<char>>;
16 using wstring = std::basic_string<wchar_t, std::char_traits<wchar_t>, CoreSTLAllocator<wchar_t>>;
17 using u16string = std::basic_string<char16_t, std::char_traits<char16_t>, CoreSTLAllocator<char16_t>>;
19 inline string to_string(
int i)
22 snprintf(buffer, 32,
"%d", i);
29 #else // _NO_KSTL_OVERLOADING_
33 #endif // _NO_KSTL_OVERLOADING_
37 static inline kstl::string ToUpperCase(
const kstl::string& a_entry)
40 kstl::string str =
"";
42 for (std::string::size_type i = 0; i<a_entry.size(); ++i)
43 str += std::toupper(a_entry[i], loc);
48 static inline void str_toupper(std::string& s) {
49 std::transform(s.begin(), s.end(), s.begin(),
50 [](
unsigned char c) { return std::toupper(c); }
54 static inline kstl::string ToLowerCase(
const kstl::string& a_entry)
57 kstl::string str =
"";
59 for (std::string::size_type i = 0; i<a_entry.size(); ++i)
60 str += std::tolower(a_entry[i], loc);
65 static inline void str_tolower(std::string& s) {
66 std::transform(s.begin(), s.end(), s.begin(),
67 [](
unsigned char c) { return std::tolower(c); }
72 #include "kstlsstream.h"
77 kstl::string to_string(T value)
79 kstl::ostringstream tmp;