#include "core/fxcrt/bytestring.h"
#include <ctype.h>
#include <stddef.h>
#include <algorithm>
#include <sstream>
#include <string>
#include <utility>
#include "core/fxcrt/check.h"
#include "core/fxcrt/check_op.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_memcpy_wrappers.h"
#include "core/fxcrt/fx_safe_types.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/span.h"
#include "core/fxcrt/span_util.h"
#include "core/fxcrt/string_pool_template.h"
template class fxcrt::StringViewTemplate<char>;
template class fxcrt::StringPoolTemplate<ByteString>;
template struct std::hash<ByteString>;
namespace {
constexpr char kTrimChars[] = …;
}
namespace fxcrt {
static_assert …;
ByteString ByteString::FormatInteger(int i) { … }
ByteString ByteString::FormatFloat(float f) { … }
ByteString ByteString::FormatV(const char* pFormat, va_list argList) { … }
ByteString ByteString::Format(const char* pFormat, ...) { … }
ByteString::ByteString(const char* pStr, size_t nLen) { … }
ByteString::ByteString(const uint8_t* pStr, size_t nLen)
: … { … }
ByteString::ByteString(char ch) { … }
ByteString::ByteString(const char* ptr)
: … { … }
ByteString::ByteString(ByteStringView bstrc) { … }
ByteString::ByteString(ByteStringView str1, ByteStringView str2) { … }
ByteString::ByteString(const std::initializer_list<ByteStringView>& list) { … }
ByteString::ByteString(const fxcrt::ostringstream& outStream) { … }
ByteString& ByteString::operator=(const char* str) { … }
ByteString& ByteString::operator=(ByteStringView str) { … }
ByteString& ByteString::operator=(const ByteString& that) { … }
ByteString& ByteString::operator=(ByteString&& that) noexcept { … }
ByteString& ByteString::operator+=(const char* str) { … }
ByteString& ByteString::operator+=(char ch) { … }
ByteString& ByteString::operator+=(const ByteString& str) { … }
ByteString& ByteString::operator+=(ByteStringView str) { … }
bool ByteString::operator==(const char* ptr) const { … }
bool ByteString::operator==(ByteStringView str) const { … }
bool ByteString::operator==(const ByteString& other) const { … }
bool ByteString::operator<(const char* ptr) const { … }
bool ByteString::operator<(ByteStringView str) const { … }
bool ByteString::operator<(const ByteString& other) const { … }
bool ByteString::EqualNoCase(ByteStringView str) const { … }
intptr_t ByteString::ReferenceCountForTesting() const { … }
ByteString ByteString::Substr(size_t offset) const { … }
ByteString ByteString::Substr(size_t first, size_t count) const { … }
ByteString ByteString::First(size_t count) const { … }
ByteString ByteString::Last(size_t count) const { … }
void ByteString::MakeLower() { … }
void ByteString::MakeUpper() { … }
int ByteString::Compare(ByteStringView str) const { … }
void ByteString::TrimWhitespace() { … }
void ByteString::TrimWhitespaceFront() { … }
void ByteString::TrimWhitespaceBack() { … }
std::ostream& operator<<(std::ostream& os, const ByteString& str) { … }
std::ostream& operator<<(std::ostream& os, ByteStringView str) { … }
}
uint32_t FX_HashCode_GetA(ByteStringView str) { … }
uint32_t FX_HashCode_GetLoweredA(ByteStringView str) { … }
uint32_t FX_HashCode_GetAsIfW(ByteStringView str) { … }
uint32_t FX_HashCode_GetLoweredAsIfW(ByteStringView str) { … }