commit 806732750eb34131429f22b6bca46076e9ab16ca Author: Josh Holtrop Date: Thu Mar 10 17:41:28 2011 -0500 add 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