82 uint8* _Nullable bytes;
306_meta_inline _Success_(
return) _Must_inspect_result_
bool
309 while (i->cursor >= i->len) {
315 *out = i->bytes[i->cursor++];
338_meta_inline _Success_(
return) _Must_inspect_result_
bool
341 while (i->cursor >= i->len) {
347 *out = i->bytes[i->cursor];
373 while (i->cursor >= i->len) {
376 return (i->cursor == 0);
383#define _striU8Anno _Success_(return) _Must_inspect_result_
412#define _striPeekU8Anno _Success_(return) _Must_inspect_result_
bool striPeekChar(striter *i, uint8 *out)
bool striChar(striter *i, uint8 *out)
bool striAdvance(striter *i, uint32 by)
_striPeekU8Anno bool striPeekU8Char(striter *i, int32 *out)
_striU8Anno bool striU8Char(striter *i, int32 *out)
bool striAdvanceU8(striter *i, uint32 by)
STRI_SEEK_WHENCE
Iterator seek origin - specifies where to seek from.
bool striValid(striter *i)
bool striPrev(striter *i)
bool striNext(striter *i)
bool striSeek(striter *i, int32 off, STRI_SEEK_TYPE type, STRI_SEEK_WHENCE whence)
void striFinish(striter *i)
void striInitRev(striter *i, strref s)
STRI_SEEK_TYPE
Iterator seek type - specifies what units to seek by.
void striBorrowRev(striter *i, strref s)
void striBorrow(striter *i, strref s)
void striInit(striter *i, strref s)
@ STRI_END
Seek from current position.
@ STRI_CUR
Seek from beginning of string.
@ STRI_U8CHAR
Seek by byte offset.
Core string types and fundamental operations.
uint32 cursor
Length of current run in bytes.
string _str
Current position within run (for striChar/striAdvance)
uint32 len
Byte offset of this run from string start.
uint32 off
Pointer to current run of bytes.