Remove by-value arguments, improved semantics

This commit is contained in:
2026-06-17 10:37:16 +03:00
parent 78bf3c74b6
commit 32649b3526
2 changed files with 118 additions and 92 deletions

View File

@@ -56,21 +56,23 @@ int CgeUtf16EncodeLax(uint32_t rune, uint16_t* data);
int CgeUtf16Decode(const uint16_t* data, size_t size, uint32_t* rune);
int CgeUtf16DecodeLax(const uint16_t* data, size_t size, uint32_t* rune);
void CgeStrIter(CgeStr str, CgeStrIterCb cb, void* user);
void CgeStrToLower(CgeStr str, CgeStrWriteCb cb, void* user);
void CgeStrToUpper(CgeStr str, CgeStrWriteCb cb, void* user);
void CgeStrFold(CgeStr str, CgeStrWriteCb cb, void* user);
int CgeStrCmp(CgeStr lhs, CgeStr rhs);
int CgeStrICmp(CgeStr lhs, CgeStr rhs);
size_t CgeStrIndexRune(CgeStr str, uint32_t rune);
size_t CgeStrLastIndexRune(CgeStr str, uint32_t rune);
size_t CgeStrIndexStr(CgeStr str, CgeStr substr);
size_t CgeStrLastIndexStr(CgeStr str, CgeStr substr);
int CgeStrHasPrefix(CgeStr str, CgeStr prefix);
int CgeStrHasSuffix(CgeStr str, CgeStr suffix);
CgeStr CgeStrTrimLeft(CgeStr str);
CgeStr CgeStrTrimRight(CgeStr str);
CgeStr CgeStrTrim(CgeStr str);
CgeStr CgeStrSplit(CgeStr *s, uint32_t delim);
void CgeStrIter(const CgeStr* str, CgeStrIterCb cb, void* user);
void CgeStrToLower(const CgeStr* str, CgeStrWriteCb cb, void* user);
void CgeStrToUpper(const CgeStr* str, CgeStrWriteCb cb, void* user);
void CgeStrFold(const CgeStr* str, CgeStrWriteCb cb, void* user);
int CgeStrCmp(const CgeStr* lhs, const CgeStr* rhs);
int CgeStrICmp(const CgeStr* lhs, const CgeStr* rhs);
size_t CgeStrIndexRune(const CgeStr* str, uint32_t rune);
size_t CgeStrLastIndexRune(const CgeStr* str, uint32_t rune);
size_t CgeStrIndexRuneLax(const CgeStr* str, uint32_t rune);
size_t CgeStrLastIndexRuneLax(const CgeStr* str, uint32_t rune);
size_t CgeStrIndexStr(const CgeStr* str, const CgeStr* substr);
size_t CgeStrLastIndexStr(const CgeStr* str, const CgeStr* substr);
int CgeStrHasPrefix(const CgeStr* str, const CgeStr* prefix);
int CgeStrHasSuffix(const CgeStr* str, const CgeStr* suffix);
void CgeStrTrimLeft(const CgeStr* str, CgeStr* out);
void CgeStrTrimRight(const CgeStr* str, CgeStr* out);
void CgeStrTrim(const CgeStr* str, CgeStr* out);
void CgeStrSplit(CgeStr* str, CgeStr* prefix, uint32_t delim);
#endif /* CGE_STR_H */