CppUtils/Utils/StringBuilder.cpp
2025-06-05 10:06:43 +08:00

181 lines
3.7 KiB
C++

#include "StringBuilder.h"
#include "Convert.h"
StringBuilder::StringBuilder():buffer()
{}
StringBuilder::~StringBuilder()
{
}
GET_CPP(StringBuilder, uint32_t, Lenght)
{
return this->buffer.str().size();
}
SET_CPP(StringBuilder, uint32_t, Lenght)
{
if (value < this->buffer.str().size())
{
this->buffer.str(this->buffer.str().substr(0, value));
}
else
{
this->buffer << std::string(value - this->buffer.str().size(), '\0');
}
}
void StringBuilder::Append(const char* str)
{
this->buffer << str;
}
void StringBuilder::Append(const wchar_t* str)
{
this->buffer << Convert::wstring_to_string(str);
}
void StringBuilder::Append(const char str)
{
this->buffer << str;
}
void StringBuilder::Append(const wchar_t str)
{
wchar_t tmp[2] = { str,0 };
this->Append(tmp);
}
void StringBuilder::Append(const int str)
{
this->buffer << str;
}
void StringBuilder::Append(const unsigned int str)
{
this->buffer << str;
}
void StringBuilder::Append(const long str)
{
this->buffer << str;
}
void StringBuilder::Append(const unsigned long str)
{
this->buffer << str;
}
void StringBuilder::Append(const long long str)
{
this->buffer << str;
}
void StringBuilder::Append(const unsigned long long str)
{
this->buffer << str;
}
void StringBuilder::Append(const float str)
{
this->buffer << str;
}
void StringBuilder::Append(const double str)
{
this->buffer << str;
}
void StringBuilder::Append(const long double str)
{
this->buffer << str;
}
void StringBuilder::Append(const bool val)
{
this->buffer << (val ? "True" : "False");
}
void StringBuilder::Append(const void* val)
{
this->buffer << val;
}
void StringBuilder::Append(const std::string str)
{
this->buffer << str;
}
void StringBuilder::Append(const std::wstring str)
{
this->buffer << Convert::wstring_to_string(str);
}
void StringBuilder::Append(const StringBuilder str)
{
this->buffer << str.buffer.str();
}
void StringBuilder::AppendLine(const char* str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const wchar_t* str)
{
this->buffer << Convert::wstring_to_string(str) << "\n";
}
void StringBuilder::AppendLine(const char str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const wchar_t str)
{
wchar_t tmp[2] = { str,0 };
this->AppendLine(tmp);
}
void StringBuilder::AppendLine(const int str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const unsigned int str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const long str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const unsigned long str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const long long str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const unsigned long long str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const float str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const double str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const long double str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const bool val)
{
this->buffer << (val ? "True" : "False") << "\n";
}
void StringBuilder::AppendLine(const void* val)
{
this->buffer << val << "\n";
}
void StringBuilder::AppendLine(const std::string str)
{
this->buffer << str << "\n";
}
void StringBuilder::AppendLine(const std::wstring str)
{
this->buffer << Convert::wstring_to_string(str) << "\n";
}
void StringBuilder::AppendLine(const StringBuilder str)
{
this->buffer << str.buffer.str() << "\n";
}
std::string StringBuilder::ToString()
{
return this->buffer.str();
}
std::wstring StringBuilder::ToWString()
{
return Convert::string_to_wstring(this->buffer.str());
}
void StringBuilder::Clear()
{
this->buffer.clear();
}