Added a set of generic append helpers to String.

This commit is contained in:
Relintai 2022-02-15 12:05:51 +01:00
parent 58eb9f8252
commit a68cbb96df
2 changed files with 82 additions and 31 deletions

View File

@ -2,6 +2,7 @@
#include "core/math/math.h" #include "core/math/math.h"
#include "error_macros.h" #include "error_macros.h"
#include "variant.h"
#include <stdlib.h> #include <stdlib.h>
#include <cstdio> #include <cstdio>
#include <cstring> #include <cstring>
@ -1430,6 +1431,41 @@ void String::print() const {
::printf("%s\n", c_str()); ::printf("%s\n", c_str());
} }
// Generic set of append helpers
void String::append(const char *str) {
append_str(str);
}
void String::append(const wchar_t *str) {
append_str(str);
}
void String::append(const String &other) {
append_str(other);
}
void String::append(const std::string &str) {
append_str(str);
}
void String::append(const char chr) {
push_back(chr);
}
void String::append(const wchar_t chr) {
push_back(chr);
}
void String::append(const int num) {
append_str(String::num(num));
}
void String::append(const unsigned int num) {
append_str(String::num(num));
}
void String::append(const float num) {
append_str(String::num(num));
}
void String::append(const double num) {
append_str(String::num(num));
}
void String::append(const Variant &variant) {
append_str(variant.to_string());
}
String String::bool_num(bool val) { String String::bool_num(bool val) {
if (val) { if (val) {
return String("1", 2); return String("1", 2);

View File

@ -11,6 +11,8 @@
#define DEFAULT_DIRECTORY_SEPARATOR '/' #define DEFAULT_DIRECTORY_SEPARATOR '/'
#endif #endif
class Variant;
// TODO move to wchar_t! // TODO move to wchar_t!
class String { class String {
@ -137,6 +139,19 @@ public:
std::string to_string() const; std::string to_string() const;
void print() const; void print() const;
// Generic set of append helpers
void append(const char *str);
void append(const wchar_t *str);
void append(const String &other);
void append(const std::string &str);
void append(const char chr);
void append(const wchar_t chr);
void append(const int num);
void append(const unsigned int num);
void append(const float num);
void append(const double num);
void append(const Variant &variant);
static String bool_num(bool val); static String bool_num(bool val);
static String bool_str(bool val); static String bool_str(bool val);