|
|
@ -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);
|
|
|
|