StrIterNext

Table of Contents

StrIterNext

Description

Advance to next character in string iterator

Parameters

NameDirectionDescription
siin,outStrIter to modify

Usage example (Cross-references)

    break;                                                                                                     \
    }                                                                                                              \
    StrIterNext(&si);                                                                                              \
    si = JSkipWhitespace(si);                                                                                      \
    \
    }                                                                                                          \
    \
    StrIterNext(&si);                                                                                          \
    }                                                                                                              \
    } while (0)
    break;                                                                                                     \
    }                                                                                                              \
    StrIterNext(&si);                                                                                              \
    si = JSkipWhitespace(si);                                                                                      \
    \
    break;                                                                                                 \
    }                                                                                                          \
    StrIterNext(&si);                                                                                          \
    si = JSkipWhitespace(si);                                                                                  \
    \
    }                                                                                                          \
    \
    StrIterNext(&si);                                                                                          \
    }                                                                                                              \
    } while (0)
    return saved_si;
    }
    StrIterNext(&si);
    si = JSkipWhitespace(si);
    return saved_si;
    }
    StrIterNext(&si); // skip comma
    si = JSkipWhitespace(si);
    }
    return saved_si;
    }
    StrIterNext(&si);
    si = JSkipWhitespace(si);
    }
    
    StrIterNext(&si);
    return si;
    }
    return saved_si;
    }
    StrIterNext(&si);
    si = JSkipWhitespace(si);
    return saved_si;
    }
    StrIterNext(&si); // skip comma
    si = JSkipWhitespace(si);
    }
    }
    
    StrIterNext(&si);
    return si;
    }
    case '\r' :
    case '\n' :
    StrIterNext(&si);
    break;
    default :
    // string start
    if (StrIterRemainingLength(&si) && StrIterPeek(&si) == '"') {
    StrIterNext(&si);
    
    // while a printable character
    // end of string
    case '"' :
    StrIterNext(&si);
    return si;
    // starting of an escape sequence
    case '\\' :
    StrIterNext(&si);
    if (!StrIterRemainingLength(&si)) {
    LOG_ERROR("Unexpected end of string.");
    case '\\' :
    StrPushBack(str, '\\');
    StrIterNext(&si);
    break;
    case '"' :
    StrPushBack(str, '"');
    StrIterNext(&si);
    break;
    case '/' :
    StrPushBack(str, '/');
    StrIterNext(&si);
    break;
    case 'b' :
    StrPushBack(str, '\b');
    StrIterNext(&si);
    break;
    case 'f' :
    StrPushBack(str, '\f');
    StrIterNext(&si);
    break;
    case 'n' :
    StrPushBack(str, '\n');
    StrIterNext(&si);
    break;
    case 'r' :
    StrPushBack(str, '\r');
    StrIterNext(&si);
    break;
    case 't' :
    StrPushBack(str, '\t');
    StrIterNext(&si);
    break;
    default :
    StrPushBack(str, StrIterPeek(&si));
    StrIterNext(&si);
    break;
    }
    if (StrIterPeek(&si) == '-') {
    is_neg = true;
    StrIterNext(&si);
    }
    is_flt  = true;
    StrPushBack(&ns, StrIterPeek(&si));
    StrIterNext(&si);
    break;
    is_flt = true;
    StrPushBack(&ns, StrIterPeek(&si));
    StrIterNext(&si);
    break;
    case '9' :
    StrPushBack(&ns, StrIterPeek(&si));
    StrIterNext(&si);
    break;
    has_exp_plus_minus = true;
    StrPushBack(&ns, StrIterPeek(&si));
    StrIterNext(&si);
    break;

Share :

Related Posts

StrIterMove

StrIterMove Description Move string iterator position by n elements

Read More