]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/property-iterator.hh
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / include / property-iterator.hh
index 7591fce27748d4e7e510af6bf88ec8a510031741..2f70d027e01f54e42ccba09f27a757a2e5e877a8 100644 (file)
@@ -3,40 +3,59 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
-
 #ifndef PROPERTY_ITERATOR_HH
 #define PROPERTY_ITERATOR_HH
 
-#include "music-iterator.hh"
-
+#include "simple-music-iterator.hh"
 
+/**
+   Iterate a property.
+*/
+class Property_iterator : public Simple_music_iterator
+{
+public:
+  DECLARE_SCHEME_CALLBACK (constructor, ());
+  DECLARE_SCHEME_CALLBACK (once_finalization, (SCM, SCM));
+  DECLARE_CLASSNAME(Property_iterator);
 
+protected:
+  virtual void do_quit ();
+  virtual void process (Moment);
+};
 
 /**
-  Iterate a property.  
- */
-class Property_iterator : public Music_iterator
+   Iterate a property.
+*/
+class Property_unset_iterator : public Simple_music_iterator
 {
 public:
-  // construction  
+  DECLARE_SCHEME_CALLBACK (constructor, ());
+  DECLARE_CLASSNAME(Property_unset_iterator);
 protected:
-  virtual void do_process_and_next (Moment);
+  virtual void process (Moment);
 };
 
-class Push_property_iterator : public Music_iterator
+class Push_property_iterator : public Simple_music_iterator
 {
+public:
+  DECLARE_SCHEME_CALLBACK (constructor, ());
+  DECLARE_SCHEME_CALLBACK (once_finalization, (SCM, SCM));
+  DECLARE_CLASSNAME(Push_property_iterator);
 protected:
-  virtual void do_process_and_next (Moment);
+  virtual void process (Moment);
+  virtual void do_quit ();
 };
 
-class Pop_property_iterator : public Music_iterator
+class Pop_property_iterator : public Simple_music_iterator
 {
+public:
+  DECLARE_SCHEME_CALLBACK (constructor, ());
+  DECLARE_CLASSNAME(Pop_property_iterator);
 protected:
-  virtual void do_process_and_next (Moment);
+  virtual void process (Moment);
 };
 
-
 #endif // PROPERTY_ITERATOR_HH