diff --git a/foreach.h b/foreach.h index 5e88f6a..0ce542c 100644 --- a/foreach.h +++ b/foreach.h @@ -1,9 +1,11 @@ -#pragma once - -// Will determine the size of an array only if it is declared on the stack -#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 -#define foreach_p(type, item, array, size) \ - for (type* item = array; item < array + size; item++) +#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++)