Skip to content
VecForeachPtrInRange

VecForeachPtrInRange

VecForeachPtrInRange

Description

Iterate over elements in a specific range of the given vector v (as pointers). This is a convenience macro that iterates over a range using an internally managed index and provides a pointer to each element. The variable var is declared and defined by this macro as a pointer to the vector’s data type.

Parameters

Name Direction Description
v in,out Vector to iterate over.
var in Name of pointer variable to be used which’ll point to the current element.
start in Starting index (inclusive).
end in Ending index (exclusive).

Usage example (Cross-references)

Usage examples (Cross-references)
                    if (start < end) {
                        size_t total_len = 0;
                        VecForeachPtrInRange(vec, str_ptr, start, end) {
                            total_len += strlen(*str_ptr);
                        }
                    if (start < end) {
                        size_t total_len = 0;
                        VecForeachPtrInRange(vec, str_ptr, start, end) {
                            total_len += ZstrLen(str_ptr->data);
                        }
                    if (start < end) {
                        int sum = 0;
                        VecForeachPtrInRange(vec, item_ptr, start, end) {
                            sum += *item_ptr;
                        }
    /// end[in]      : Ending index (exclusive).
    ///
    #define StrForeachPtrInRange(str, chrptr, start, end) VecForeachPtrInRange((str), (chrptr), (start), (end))
    
    #ifdef __cplusplus
Last updated on