VecForeachReverse

Table of Contents

VecForeachReverse

Description

Iterate over each element var of the given vector v in reverse order. This is a convenience macro that iterates backward using an internally managed index. The variable var is declared and defined by this macro.

Parameters

NameDirectionDescription
vin,outVector to iterate over.
varinName of the variable to be used which will contain the value of the current element during iteration. The type of var will be the data type of the vector elements (obtained via VEC_DATATYPE(v)).

Usage example (Cross-references)

    if (VecLen(vec) > 0) {
    size_t total_len = 0;
    VecForeachReverse(vec, str) {
    total_len += strlen(str);
    }
    if (VecLen(vec) > 0) {
    size_t total_len = 0;
    VecForeachReverse(vec, str) {
    total_len += ZstrLen(str.data);
    }
    if (VecLen(vec) > 0) {
    int sum = 0;
    VecForeachReverse(vec, item) {
    sum += item;
    }
    // Test VecForeachReverse macro
    bool test_vec_foreach_reverse(void) {
    WriteFmt("Testing VecForeachReverse\n");
    
    // Create a vector of integers
    int reversed[5] = {0};
    int idx         = 0;
    VecForeachReverse(&vec, item) {
    reversed[idx++] = item;
    }
    ///               the character type used by the `Str` implementation (e.g., `char`).
    ///
    #define StrForeachReverse(str, chr) VecForeachReverse((str), (chr))
    
    ///

Share :

Related Posts

VecForeachPtrIdx

VecForeachPtrIdx Description Iterate over each element var of given vector v at each index idx into the vector. The variables var and idx declared and defined by this macro. idx will start from 0 and will go till v->length - 1

Read More

VecForeachIdx

VecForeachIdx Description Iterate over each element var of given vector v at each index idx into the vector. The variables var and idx declared and defined by this macro. idx will start from 0 and will go till v->length - 1

Read More

VecForeachPtrReverseIdx

VecForeachPtrReverseIdx Description Iterate over each element var of given vector v at each index idx into the vector. The variables var and idx declared and defined by this macro. idx will start from v->length - 1 and will go till 0

Read More