foreach-c/foreach.h

12 lines
565 B
C
Raw Normal View History

2023-11-17 12:51:26 -04:00
#pragma once
// Will determine the size of an array only if it is declared on the stack
// Need to dereference the item, as it is a pointer to the current element
#define foreach(type, item, array) \
for (type* item = array; item < array + (sizeof(array) / sizeof(type)); item++)
// Need to pass in the size of the array, since heap allocated arrays don't work with sizeof
// Need to dereference the item, as it is a pointer to the current element
#define foreach_p(type, item, array, size) \
for (type* item = array; item < array + size; item++)