Changed for_each var to value

This commit is contained in:
Leonardo committed 2019-03-29 20:35:35 -03:00
1 parent fa40f35235
commit 524bc30b69
5 files changed
+66 -66

No files matched your search

+7 -7
View File
@@ -55,17 +55,17 @@ int main(int argc, char const *argv[])
q_dequeue(shelf);
}
q_enqueue(shelf, var);
q_enqueue(shelf, value);
map_insert(library, var->isbn, var->name);
set_insert(counter, var->name);
map_insert(library, value->isbn, value->name);
set_insert(counter, value->name);
})
printf("Library Size: %d\n", map_count(library));
printf("Unique book titles: %d\n\n", set_count(counter));
printf("Showcase Books:\n");
FOR_EACH(q, queue, book *, shelf, {
printf("[ %d : %-45s ]\n", var->isbn, var->name);
printf("[ %d : %-45s ]\n", value->isbn, value->name);
})
printf("\n");
@@ -119,7 +119,7 @@ int main(int argc, char const *argv[])
})
FOR_EACH(il, intlist, int, search_list, {
printf("[ %d ]\n", var);
printf("[ %d ]\n", value);
})
il_free(search_list);
@@ -128,8 +128,8 @@ int main(int argc, char const *argv[])
// Free all memory used by struct book
FOR_EACH(l, list, book *, books, {
free(var->name);
free(var);
free(value->name);
free(value);
})
l_free(books);
+19 -19
View File
@@ -55,61 +55,61 @@ int main(int argc, char const *argv[])
ts_insert(ts, 25);
// All FOR_EACH macros contains three available variables:
// - var : the elements that changes with each iteration
// - value : the elements that changes with each iteration
// - index : iteration index (first iteration is 0 and last is count - 1)
// - iter : iterator struct
FOR_EACH(l, list, int, l, {
if (index == 0)
printf("[ %d, ", var);
printf("[ %d, ", value);
else if (index == iter.target->count - 1)
printf("%d ]\n", var);
printf("%d ]\n", value);
else
printf("%d, ", var);
printf("%d, ", value);
})
FOR_EACH(s, stack, int, s, {
if (index == 0)
printf("[ %d, ", var);
printf("[ %d, ", value);
else if (index == iter.target->count - 1)
printf("%d ]\n", var);
printf("%d ]\n", value);
else
printf("%d, ", var);
printf("%d, ", value);
})
FOR_EACH(q, queue, int, q, {
if (index == 0)
printf("[ %d, ", var);
printf("[ %d, ", value);
else if (index == iter.target->count - 1)
printf("%d ]\n", var);
printf("%d ]\n", value);
else
printf("%d, ", var);
printf("%d, ", value);
})
FOR_EACH(d, deque, int, d, {
if (index == 0)
printf("[ %d, ", var);
printf("[ %d, ", value);
else if (index == iter.target->count - 1)
printf("%d ]\n", var);
printf("%d ]\n", value);
else
printf("%d, ", var);
printf("%d, ", value);
})
FOR_EACH(ll, llist, int, ll, {
if (index == 0)
printf("[ %d, ", var);
printf("[ %d, ", value);
else if (index == iter.target->count - 1)
printf("%d ]\n", var);
printf("%d ]\n", value);
else
printf("%d, ", var);
printf("%d, ", value);
})
FOR_EACH(ts, tset, int, ts, {
if (index == 0)
printf("[ %d, ", var);
printf("[ %d, ", value);
else if (index == iter.target->count - 1)
printf("%d ]\n", var);
printf("%d ]\n", value);
else
printf("%d, ", var);
printf("%d, ", value);
})
l_free(l);
+3 -3
View File
@@ -185,8 +185,8 @@ int main(void)
int sum = 0;
FOR_EACH(il, int_list, int, integers, {
printf("%d, ", var);
sum += var;
printf("%d, ", value);
sum += value;
})
printf("\n\nSUM: %d\n", sum);
@@ -256,7 +256,7 @@ int main(void)
int sum3 = 0;
FOR_EACH(dq, deque, int, d, {
sum3 += var;
sum3 += value;
})
printf("Deque sum: %d\n", sum3);
+23 -23
View File
@@ -14,31 +14,31 @@
#include <stdlib.h>
#include <stdbool.h>
#define FOR_EACH(PFX, SNAME, V, TARGET, BODY) \
do \
{ \
size_t index; \
V var; \
SNAME##_iter iter; \
PFX##_iter_new(&iter, TARGET); \
while (PFX##_iter_next(&iter, &var, &index)) \
{ \
BODY; \
} \
#define FOR_EACH(PFX, SNAME, V, TARGET, BODY) \
do \
{ \
size_t index; \
V value; \
SNAME##_iter iter; \
PFX##_iter_new(&iter, TARGET); \
while (PFX##_iter_next(&iter, &value, &index)) \
{ \
BODY; \
} \
} while (0);
#define FOR_EACH_REV(PFX, SNAME, V, TARGET, BODY) \
do \
{ \
size_t index; \
V var; \
SNAME##_iter iter; \
PFX##_iter_new(&iter, TARGET); \
PFX##_iter_toend(&iter); \
while (PFX##_iter_prev(&iter, &var, &index)) \
{ \
BODY; \
} \
#define FOR_EACH_REV(PFX, SNAME, V, TARGET, BODY) \
do \
{ \
size_t index; \
V value; \
SNAME##_iter iter; \
PFX##_iter_new(&iter, TARGET); \
PFX##_iter_toend(&iter); \
while (PFX##_iter_prev(&iter, &value, &index)) \
{ \
BODY; \
} \
} while (0);
#define FOR_EACH_MAP(PFX, SNAME, K, V, TARGET, BODY) \
+14 -14
View File
@@ -52,31 +52,31 @@ int main(int argc, char const *argv[])
int sum0 = 0, sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0, sum7 = 0, sum8 = 0;
FOR_EACH(l, list, int, l, {
sum0 += var;
sum0 += value;
})
FOR_EACH(s, stack, int, s, {
sum1 += var;
sum1 += value;
})
FOR_EACH(q, queue, int, q, {
sum2 += var;
sum2 += value;
})
FOR_EACH(d, deque, int, d, {
sum3 += var;
sum3 += value;
})
FOR_EACH(ll, linked, int, ll, {
sum4 += var;
sum4 += value;
})
FOR_EACH(h, heap, int, h, {
sum5 += var;
sum5 += value;
})
FOR_EACH(ts, tset, int, ts, {
sum6 += var;
sum6 += value;
})
FOR_EACH_MAP(tm, tmap, int, int, tm, {
@@ -106,31 +106,31 @@ int main(int argc, char const *argv[])
sum0 = 0, sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0, sum7 = 0, sum8 = 0;
FOR_EACH_REV(l, list, int, l, {
sum0 += var;
sum0 += value;
})
FOR_EACH_REV(s, stack, int, s, {
sum1 += var;
sum1 += value;
})
FOR_EACH_REV(q, queue, int, q, {
sum2 += var;
sum2 += value;
})
FOR_EACH_REV(d, deque, int, d, {
sum3 += var;
sum3 += value;
})
FOR_EACH_REV(ll, linked, int, ll, {
sum4 += var;
sum4 += value;
})
FOR_EACH_REV(h, heap, int, h, {
sum5 += var;
sum5 += value;
})
FOR_EACH_REV(ts, tset, int, ts, {
sum6 += var;
sum6 += value;
})
FOR_EACH_MAP_REV(tm, tmap, int, int, tm, {