namespace factor {
-inline static void memset_2(void* dst, u16 pattern, size_t size) {
+// Poor mans range-based for loops.
+#define FACTOR_FOR_EACH(iterable) \
+ for (auto iter = (iterable).begin(), \
+ _end = (iterable).end(); \
+ iter != _end; \
+ iter++)
+
+inline static void memset_2(void* dst, uint16_t pattern, size_t size) {
#ifdef __APPLE__
cell cell_pattern = (pattern | (pattern << 16));
memset_pattern4(dst, &cell_pattern, size);
if (pattern == 0)
memset(dst, 0, size);
else {
- u16* start = (u16*)dst;
- u16* end = (u16*)((cell) dst + size);
+ uint16_t* start = (uint16_t*)dst;
+ uint16_t* end = (uint16_t*)((cell)dst + size);
while (start < end) {
*start = pattern;
start++;
memset(dst, 0, size);
else {
cell* start = (cell*)dst;
- cell* end = (cell*)((cell) dst + size);
+ cell* end = (cell*)((cell)dst + size);
while (start < end) {
*start = pattern;
start++;