ListForeachPtrReverseInRange

Table of Contents

ListForeachPtrReverseInRange

Description

Iterate over each element var (as a pointer) of the given list l in reverse, limited to index range [start, end) relative to the tail of the list. Index 0 corresponds to the tail, 1 to the previous node, and so on. The variable var is declared and defined by this macro as a pointer to the list’s data type. Since linked lists do not support indexing, this macro counts nodes from the tail and includes only those where the relative reverse index lies in [start, end).

Parameters

NameDirectionDescription
lin,outList to iterate over.
varoutName of the pointer variable to be used which will point to the current element during iteration.
startinStarting index from tail (inclusive).
endinEnding index from tail (exclusive).

Usage example (Cross-references)

    if (start < end) {
    int sum = 0;
    ListForeachPtrReverseInRange(list, item_ptr, start, end) {
    sum += *item_ptr;
    }

Share :

Related Posts

ListForeachPtrReverse

ListForeachPtrReverse Description Iterate over each element var (as a pointer) of the given list l in reverse order. The variable var is declared and defined by this macro as a pointer to the list’s data type. Iteration happens in reverse, starting from the tail of the list and continuing through the prev pointers until the head is reached. The variable var will point to the data associated with each list node.

Read More

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.

Read More

ListForeachReverse

ListForeachReverse Description Iterate over each element var of the given list l in reverse order. The variable var is declared and defined by this macro. Iteration happens in reverse, starting from the tail of the list and continuing through the prev pointers until the head is reached. The variable var will contain a copy of the value pointed to by each list node.

Read More