Skip to content

StrIterPeekAt

Description

Read the character at signed offset n into *out without advancing. Propagating alias for IterPeekAt; see IterPeekAt for the full contract.

Usage example (Cross-references)

Usage examples (Cross-references)
        // followed by `i`/`I` enters this branch too.
        char c1 = 0;
        (void)StrIterPeekAt(&si, 1, &c1);
        if ((c == 'i' || c == 'I' || c == 'n' || c == 'N') || (c == '-' && (c1 == 'i' || c1 == 'I'))) {
            StrIter saved = si;
        char c0 = 0;
        char c1 = 0;
        (void)StrIterPeekAt(&si, 0, &c0);
        (void)StrIterPeekAt(&si, 1, &c1);
        char c1 = 0;
        (void)StrIterPeekAt(&si, 0, &c0);
        (void)StrIterPeekAt(&si, 1, &c1);
    
        if (c0 == '0' && (c1 == 'x' || c1 == 'X')) {
        char p0 = 0;
        char p1 = 0;
        (void)StrIterPeekAt(&si, 0, &p0);
        (void)StrIterPeekAt(&si, 1, &p1);
        char p1 = 0;
        (void)StrIterPeekAt(&si, 0, &p0);
        (void)StrIterPeekAt(&si, 1, &p1);
    
        if (radix == 16 && p0 == '0' && (p1 == 'x' || p1 == 'X')) {
        // followed by `i`/`I` enters this branch too.
        char c1 = 0;
        (void)StrIterPeekAt(&si, 1, &c1);
        if ((c == 'i' || c == 'I' || c == 'n' || c == 'N') || (c == '-' && (c1 == 'i' || c1 == 'I'))) {
            StrIter saved = si;
            if (StrIterRemainingLength(&si) > kw_len &&
                MemCompare(StrIterDataAt(&si, StrIterIndex(&si)), NS_KEYWORD, kw_len) == 0 &&
                StrIterPeekAt(&si, (i64)kw_len, &sep) && (sep == ' ' || sep == '\t')) {
                StrIterMustMove(&si, (i64)kw_len);
                skip_hspace_iter(&si);
Last updated on