]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/property-iterator.hh
(enumerate_attachments): use stem_extent_
[lilypond.git] / lily / include / property-iterator.hh
1 /*
2   property-iterator.hh -- declare Property_iterator
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef PROPERTY_ITERATOR_HH
11 #define PROPERTY_ITERATOR_HH
12
13 #include "simple-music-iterator.hh"
14
15
16
17
18 /**
19   Iterate a property.  
20  */
21 class Property_iterator : public Simple_music_iterator
22 {
23 public:
24   DECLARE_SCHEME_CALLBACK(constructor, ());
25   DECLARE_SCHEME_CALLBACK(once_finalization, (SCM, SCM ));
26
27 protected:
28   virtual void do_quit();
29   virtual void process (Moment);
30 };
31
32
33
34
35 /**
36   Iterate a property.  
37  */
38 class Property_unset_iterator : public Simple_music_iterator
39 {
40 public:
41   DECLARE_SCHEME_CALLBACK(constructor, ());
42 protected:
43   virtual void process (Moment);
44 };
45
46 class Push_property_iterator : public Simple_music_iterator
47 {
48 public:
49   DECLARE_SCHEME_CALLBACK(constructor, ());  
50   DECLARE_SCHEME_CALLBACK(once_finalization, (SCM, SCM));
51 protected:
52   virtual void process (Moment);
53   virtual void do_quit();
54 };
55
56 class Pop_property_iterator : public Simple_music_iterator
57 {
58 public:
59   DECLARE_SCHEME_CALLBACK(constructor, ());
60 protected:
61   virtual void process (Moment);
62 };
63
64
65 #endif // PROPERTY_ITERATOR_HH