# HG changeset patch # User Teemu Piippo # Date 1357163866 -7200 # Node ID fc257920ac0084be56d79d9fd3490e4edb704d23 # Parent 29a3e669d64854f545d8649acb32d4b8903ddf21 test diff -r 29a3e669d648 -r fc257920ac00 array.h --- a/array.h Wed Dec 19 22:01:42 2012 +0200 +++ b/array.h Wed Jan 02 23:57:46 2013 +0200 @@ -46,6 +46,13 @@ #define ITERATE_SUBSCRIPTS(link) \ for (link = data; link; link = link->next) +#define foreach_counter(NAME) \ + (int)(reinterpret_cast (foreach_counter##NAME) / sizeof (foreach_counter##NAME)) +#define foreach(T,NAME,ARRAY) \ + if (ARRAY.size() > 0) for (T NAME = ARRAY[0], *foreach_counter##NAME = 0; \ + foreach_counter(NAME) < (int)(ARRAY.size()); \ + NAME = ARRAY[reinterpret_cast (++foreach_counter##NAME) / sizeof (foreach_counter##NAME)]) + // Single element of an array template class arrayElement { public: @@ -180,4 +187,4 @@ } arrayElement* data; -}; \ No newline at end of file +}; diff -r 29a3e669d648 -r fc257920ac00 common.h --- a/common.h Wed Dec 19 22:01:42 2012 +0200 +++ b/common.h Wed Jan 02 23:57:46 2013 +0200 @@ -183,4 +183,4 @@ return uni.b[b]; } -#endif // __COMMON_H__ \ No newline at end of file +#endif // __COMMON_H__