]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/property-iterator.hh
release: 1.3.138
[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--2001 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   VIRTUAL_COPY_CONS (Music_iterator);
25   static SCM constructor_cxx_function;
26   /* construction */
27 protected:
28   virtual void process (Moment);
29 };
30
31
32
33
34 /**
35   Iterate a property.  
36  */
37 class Property_unset_iterator : public Simple_music_iterator
38 {
39 public:
40   VIRTUAL_COPY_CONS (Music_iterator);
41   static SCM constructor_cxx_function;
42   /* construction */
43 protected:
44   virtual void process (Moment);
45 };
46
47 class Push_property_iterator : public Simple_music_iterator
48 {
49 public:
50   VIRTUAL_COPY_CONS (Music_iterator);
51   static SCM constructor_cxx_function;  
52 protected:
53   /* construction */
54   virtual void process (Moment);
55 };
56
57 class Pop_property_iterator : public Simple_music_iterator
58 {
59 public:
60   static SCM constructor_cxx_function;
61   VIRTUAL_COPY_CONS (Music_iterator);
62 protected:
63   /* construction */
64   virtual void process (Moment);
65 };
66
67
68 #endif // PROPERTY_ITERATOR_HH