]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/iterate.hh
release: 1.1.29
[lilypond.git] / flower / include / iterate.hh
1 /*
2   iterate.hh -- define some list macros
3
4   source file of the flowerlib
5
6   (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef ITERATE_HH
11 #define ITERATE_HH
12
13 /*
14  ugh.
15  jcn: kjoet.
16       if we wouldn't have had this, things might have been 
17       just a little bit easier to read, imho.
18       (it does save quite some disk space, though)
19  */
20
21 #define iterator(set)           typeof ((set).top())
22 #define iterator_bot(set)               typeof ((set).bottom())
23
24 #define iter(init, var)         typeof (init) var (init)
25
26 // should use top()
27 #define iter_top(set,var)       iterator (set) var (set)
28 #define iter_bot(set,var)       iterator (set) var (set.bottom())
29
30 #endif // ITERATE_HH