3#include <StormByte/expected.hxx>
4#include <StormByte/exception.hxx>
24namespace StormByte::String {
31 enum class STORMBYTE_PUBLIC Format :
unsigned short {
42 constexpr STORMBYTE_PUBLIC std::string Indent(
const int&
level)
noexcept {
51 constexpr STORMBYTE_PUBLIC
bool IsNumeric(
const std::string&
str)
noexcept {
60 STORMBYTE_PUBLIC std::string ToLower(
const std::string&
str)
noexcept;
67 STORMBYTE_PUBLIC std::string ToUpper(
const std::string&
str)
noexcept;
75 STORMBYTE_PUBLIC std::queue<std::string> Explode(
const std::string&
str,
const char delimiter);
82 STORMBYTE_PUBLIC std::vector<std::string> Split(
const std::string&
str);
100 template <
typename T,
typename = std::enable_if_t<std::is_arithmetic_v<T> && !std::is_same_v<T,
wchar_t>>>
101 STORMBYTE_PUBLIC std::string HumanReadable(
const T&
number,
const Format&
format,
const std::string&
locale =
"en_US.UTF-8")
noexcept;
117 STORMBYTE_PUBLIC std::
wstring UTF8Decode(
const std::
string&
s);
124 STORMBYTE_PUBLIC std::
string SanitizeNewlines(
const std::
string&
str)
noexcept;
std::conditional_t< is_reference< T >::value, std::expected< std::reference_wrapper< std::remove_reference_t< T > >, std::shared_ptr< E > >, std::expected< T, std::shared_ptr< E > > > Expected
Expected type with support for reference types.
Definition expected.hxx:32