VecForeachPtrReverse
Description
Walk each element of v backward, binding var to a pointer to the element. Use when the body mutates elements in place. Convenience wrapper around VecForeachPtrReverseIdx. See VecForeachPtrReverseIdx for the full SUCCESS/FAILURE contract.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
VecCharPtr.c:562:
if (VecLen(vec) > 0) {
size_t total_len = 0;
VecForeachPtrReverse(vec, str_ptr) {
total_len += ZstrLen(*str_ptr);
}- In
VecStr.c:540:
if (VecLen(vec) > 0) {
size_t total_len = 0;
VecForeachPtrReverse(vec, str_ptr) {
total_len += StrLen(str_ptr);
}- In
VecInt.c:473:
if (VecLen(vec) > 0) {
int sum = 0;
VecForeachPtrReverse(vec, item_ptr) {
sum += *item_ptr;
} // Test VecForeachPtrReverse macro
bool test_vec_foreach_ptr_reverse(void) {
WriteFmt("Testing VecForeachPtrReverse\n");
// Create a vector of integers
// Use VecForeachPtrReverse to increment values in reverse order
int increment = 1;
VecForeachPtrReverse(&vec, item_ptr) {
*item_ptr += increment++;
}- In
Foreach.h:94:
/// TAGS: Str, Foreach, Iterate, Reverse
///
#define StrForeachPtrReverse(str, chrptr) VecForeachPtrReverse((str), (chrptr))
///
Last updated on