161#define strNConcat(o, ...) _strNConcat(o, count_macro_args(__VA_ARGS__), (strref[]) { __VA_ARGS__ })
162bool _strNConcat(_Inout_
strhandle o,
int n, _In_ strref* _Nonnull stra);
188#define strNConcatC(o, ...) \
189 _strNConcatC(o, count_macro_args(__VA_ARGS__), (string*[]) { __VA_ARGS__ })
318int32
strSplit(_Inout_ sa_string* _Nonnull out, _In_opt_ strref s, _In_opt_ strref sep,
bool empty);
string * strhandle
Pointer to a string variable.
bool strAppend(strhandle io, strref s)
uint8 strGetChar(strref str, int32 i)
bool strSubStrI(strhandle io, int32 b, int32 e)
bool strConcat(strhandle o, strref s1, strref s2)
int32 strSplit(sa_string *out, strref s, strref sep, bool empty)
bool strConcatC(strhandle o, strhandle sc1, strhandle sc2)
bool strSubStr(strhandle o, strref s, int32 b, int32 e)
void strLower(strhandle io)
bool strPrepend(strref s, strhandle io)
void strUpper(strhandle io)
bool strJoin(strhandle out, sa_string arr, strref sep)
bool strSubStrC(strhandle o, strhandle sc, int32 b, int32 e)
void strSetChar(strhandle str, int32 i, uint8 ch)
Dynamic arrays with type-safe generic programming.
Core string types and fundamental operations.