3#include <StormByte/buffer/simple.hxx>
23namespace StormByte::String {
30 enum class STORMBYTE_PUBLIC Format :
unsigned short {
45 constexpr STORMBYTE_PUBLIC std::string Indent(
const int& level)
noexcept {
46 return level == 0 ? std::string() : std::string(level,
'\t');
57 constexpr STORMBYTE_PUBLIC
bool IsNumeric(
const std::string& str)
noexcept {
58 return !str.empty() && std::all_of(str.begin(), str.end(), ::isdigit);
69 STORMBYTE_PUBLIC std::string ToLower(
const std::string& str)
noexcept;
79 STORMBYTE_PUBLIC std::string ToUpper(
const std::string& str)
noexcept;
91 STORMBYTE_PUBLIC std::queue<std::string> Explode(
const std::string& str,
const char delimiter);
102 STORMBYTE_PUBLIC std::vector<std::string> Split(
const std::string& str);
141 template <
typename T,
typename = std::enable_if_t<std::is_arithmetic_v<T> && !std::is_same_v<T,
wchar_t>>>
142 STORMBYTE_PUBLIC std::string HumanReadable(
const T& number,
const Format& format,
const std::string& locale =
"en_US.UTF-8") noexcept;
153 STORMBYTE_PUBLIC std::
string UTF8Encode(const std::wstring& ws);
164 STORMBYTE_PUBLIC std::wstring UTF8Decode(const std::
string& s);
174 STORMBYTE_PUBLIC std::
string SanitizeNewlines(const std::
string& str) noexcept;
184 STORMBYTE_PUBLIC std::
string FromBuffer(const
Buffer::Simple& buffer) noexcept;
194 STORMBYTE_PUBLIC std::
string FromBuffer(const
Buffer::Data& data) noexcept;
204 STORMBYTE_PUBLIC std::
string FromBuffer(const std::span<const std::
byte>& span) noexcept;
The class to serialize and deserialize data.
Definition serializable.hxx:25
Namespace for buffer-related components in the StormByte library.