From 806732750eb34131429f22b6bca46076e9ab16ca Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 10 Mar 2011 17:41:28 -0500 Subject: [PATCH] add foreach.h --- foreach.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 foreach.h diff --git a/foreach.h b/foreach.h new file mode 100644 index 0000000..7449731 --- /dev/null +++ b/foreach.h @@ -0,0 +1,14 @@ + +#ifndef foreach + +#define foreach_iter_var(var) var ## _iter +#define foreach(var, val) \ + for (typeof(val.begin()) foreach_iter_var(var) = (val).begin(), \ + _ = (val).begin(); \ + foreach_iter_var(var) != (val).end(); \ + foreach_iter_var(var)++, _ = (val).begin()) \ + for (typeof(*foreach_iter_var(var)) var = *foreach_iter_var(var); \ + _ != (val).end(); \ + _ = (val).end()) + +#endif