Files
botw/lib/sead/include/prim/seadStringUtil.h
T
Léo Lam 18c60323a9 Switch to subrepos
git subrepo clone https://github.com/open-ead/sead lib/sead

subrepo:
  subdir:   "lib/sead"
  merged:   "1b66e825d"
upstream:
  origin:   "https://github.com/open-ead/sead"
  branch:   "master"
  commit:   "1b66e825d"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

git subrepo clone (merge) https://github.com/open-ead/nnheaders lib/NintendoSDK

subrepo:
  subdir:   "lib/NintendoSDK"
  merged:   "9ee21399f"
upstream:
  origin:   "https://github.com/open-ead/nnheaders"
  branch:   "master"
  commit:   "9ee21399f"
git-subrepo:
  version:  "0.4.3"
  origin:   "ssh://git@github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

git subrepo clone https://github.com/open-ead/agl lib/agl

subrepo:
  subdir:   "lib/agl"
  merged:   "7c063271b"
upstream:
  origin:   "https://github.com/open-ead/agl"
  branch:   "master"
  commit:   "7c063271b"
git-subrepo:
  version:  "0.4.3"
  origin:   "ssh://git@github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

git subrepo clone https://github.com/open-ead/EventFlow lib/EventFlow

subrepo:
  subdir:   "lib/EventFlow"
  merged:   "c35d21b34"
upstream:
  origin:   "https://github.com/open-ead/EventFlow"
  branch:   "master"
  commit:   "c35d21b34"
git-subrepo:
  version:  "0.4.3"
  origin:   "ssh://git@github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
2022-03-21 21:31:42 +01:00

80 lines
2.8 KiB
C++

#ifndef SEAD_STRING_UTIL_H_
#define SEAD_STRING_UTIL_H_
#include <stdarg.h>
#include <stdio.h>
#include <basis/seadTypes.h>
#include <container/seadBuffer.h>
#include <prim/seadSafeString.h>
namespace sead
{
namespace StringUtil
{
struct Char16Pair
{
char16 before;
char16 after;
};
enum class CardinalNumber
{
BaseAuto = -1,
Base2 = 2,
Base8 = 8,
Base10 = 10,
Base16 = 16,
};
bool tryParseU64(u64* out, const SafeString& str, CardinalNumber base);
bool tryParseS64(s64* out, const SafeString& str, CardinalNumber base);
bool tryParseU32(u32* out, const SafeString& str, CardinalNumber base);
bool tryParseS32(s32* out, const SafeString& str, CardinalNumber base);
bool tryParseU16(u16* out, const SafeString& str, CardinalNumber base);
bool tryParseS16(s16* out, const SafeString& str, CardinalNumber base);
bool tryParseU8(u8* out, const SafeString& str, CardinalNumber base);
bool tryParseS8(s8* out, const SafeString& str, CardinalNumber base);
bool tryParseF32(f32* out, const SafeString& str);
bool tryParseF64(f64* out, const SafeString& str);
u64 parseU64(const SafeString& str, CardinalNumber base);
s64 parseS64(const SafeString& str, CardinalNumber base);
u32 parseU32(const SafeString& str, CardinalNumber base);
s32 parseS32(const SafeString& str, CardinalNumber base);
u16 parseU16(const SafeString& str, CardinalNumber base);
s16 parseS16(const SafeString& str, CardinalNumber base);
u8 parseU8(const SafeString& str, CardinalNumber base);
s8 parseS8(const SafeString& str, CardinalNumber base);
f32 parseF32(const SafeString& str);
f64 parseF64(const SafeString& str);
char16* wcs16cpy(char16*, size_t n, const char16*);
s32 snprintf(char* s, size_t n, const char* format, ...);
s32 sw16printf(char16* s, size_t n, const char16* format, ...);
s32 vsnprintf(char* s, size_t n, const char* format, va_list args);
s32 vsw16printf(char16* s, size_t n, const char16* format, std::va_list args);
// TODO
s32 vsnw16printf(char16* s, size_t n, const char16* format, std::va_list args);
s32 convertSjisToUtf16(char16* dst, u32 dst_len, const char* src, s32 src_len);
s32 convertUtf16ToSjis(char* dst, u32 dst_len, const char16* src, s32 src_len);
s32 convertUtf8ToUtf16(char16* dst, u32 dst_len, const char* src, s32 src_len);
s32 convertUtf16ToUtf8(char* dst, u32 dst_len, const char16* src, s32 src_len);
s32 convertSjisToUtf8(char* dst, u32 dst_len, const char* src, s32 src_len);
s32 convertUtf8ToSjis(char* dst, u32 dst_len, const char* src, s32 src_len);
char16 replace(char16 c, const Buffer<const Char16Pair>& sorted_table);
char16 toUpperCapital(char16 c);
void toUpperCapitalFirstCharactor(WBufferedSafeString* str);
char16 toLowerCapital(char16 c);
void toLowerCapitalFirstCharactor(WBufferedSafeString* str);
} // namespace StringUtil
} // namespace sead
#endif // SEAD_STRING_UTIL_H_