|
|
@ -5,8 +5,6 @@ |
|
|
#pragma once |
|
|
#pragma once |
|
|
|
|
|
|
|
|
#include <cstddef> |
|
|
#include <cstddef> |
|
|
#include <iomanip> |
|
|
|
|
|
#include <sstream> |
|
|
|
|
|
#include <string> |
|
|
#include <string> |
|
|
#include <vector> |
|
|
#include <vector> |
|
|
#include "common/common_types.h" |
|
|
#include "common/common_types.h" |
|
|
@ -19,44 +17,13 @@ std::string ToLower(std::string str); |
|
|
/// Make a string uppercase |
|
|
/// Make a string uppercase |
|
|
std::string ToUpper(std::string str); |
|
|
std::string ToUpper(std::string str); |
|
|
|
|
|
|
|
|
std::string ArrayToString(const u8* data, std::size_t size, int line_len = 20, bool spaces = true); |
|
|
|
|
|
|
|
|
|
|
|
std::string StringFromBuffer(const std::vector<u8>& data); |
|
|
std::string StringFromBuffer(const std::vector<u8>& data); |
|
|
|
|
|
|
|
|
std::string StripSpaces(const std::string& s); |
|
|
std::string StripSpaces(const std::string& s); |
|
|
std::string StripQuotes(const std::string& s); |
|
|
std::string StripQuotes(const std::string& s); |
|
|
|
|
|
|
|
|
// Thousand separator. Turns 12345678 into 12,345,678 |
|
|
|
|
|
template <typename I> |
|
|
|
|
|
std::string ThousandSeparate(I value, int spaces = 0) { |
|
|
|
|
|
std::ostringstream oss; |
|
|
|
|
|
|
|
|
|
|
|
// std::locale("") seems to be broken on many platforms |
|
|
|
|
|
#if defined _WIN32 || (defined __linux__ && !defined __clang__) |
|
|
|
|
|
oss.imbue(std::locale("")); |
|
|
|
|
|
#endif |
|
|
|
|
|
oss << std::setw(spaces) << value; |
|
|
|
|
|
|
|
|
|
|
|
return oss.str(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
std::string StringFromBool(bool value); |
|
|
std::string StringFromBool(bool value); |
|
|
|
|
|
|
|
|
bool TryParse(const std::string& str, bool* output); |
|
|
|
|
|
bool TryParse(const std::string& str, u32* output); |
|
|
|
|
|
|
|
|
|
|
|
template <typename N> |
|
|
|
|
|
static bool TryParse(const std::string& str, N* const output) { |
|
|
|
|
|
std::istringstream iss(str); |
|
|
|
|
|
|
|
|
|
|
|
N tmp = 0; |
|
|
|
|
|
if (iss >> tmp) { |
|
|
|
|
|
*output = tmp; |
|
|
|
|
|
return true; |
|
|
|
|
|
} else |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
std::string TabsToSpaces(int tab_size, std::string in); |
|
|
std::string TabsToSpaces(int tab_size, std::string in); |
|
|
|
|
|
|
|
|
void SplitString(const std::string& str, char delim, std::vector<std::string>& output); |
|
|
void SplitString(const std::string& str, char delim, std::vector<std::string>& output); |
|
|
|