Skip to content
StrIterMustPeekAt

StrIterMustPeekAt

Description

Aborting variant of StrIterPeekAt. Alias for IterMustPeekAt; see IterMustPeekAt for the full contract.

Parameters

Name Direction Description
mi in Pointer to the StrIter to peek into.
n in Signed character offset along the iteration direction (scaled by dir); positive looks ahead in iteration order, negative looks behind.
out out Destination char *; receives data[pos + dir * n].

Success

*out is set to the character at pos + dir * n; the cursor is not advanced; returns to the caller.

Failure

Does not return – aborts via LOG_FATAL when pos + dir * n is outside [0, length).

Usage example (Cross-references)

Usage examples (Cross-references)
        u32  perms = 0;
        char p0 = 0, p1 = 0, p2 = 0, p3 = 0;
        StrIterMustPeekAt(si, 0, &p0);
        StrIterMustPeekAt(si, 1, &p1);
        StrIterMustPeekAt(si, 2, &p2);
        char p0 = 0, p1 = 0, p2 = 0, p3 = 0;
        StrIterMustPeekAt(si, 0, &p0);
        StrIterMustPeekAt(si, 1, &p1);
        StrIterMustPeekAt(si, 2, &p2);
        StrIterMustPeekAt(si, 3, &p3);
        StrIterMustPeekAt(si, 0, &p0);
        StrIterMustPeekAt(si, 1, &p1);
        StrIterMustPeekAt(si, 2, &p2);
        StrIterMustPeekAt(si, 3, &p3);
        if (p0 == 'r')
        StrIterMustPeekAt(si, 1, &p1);
        StrIterMustPeekAt(si, 2, &p2);
        StrIterMustPeekAt(si, 3, &p3);
        if (p0 == 'r')
            perms |= PROC_MAP_PERM_READ;
Last updated on