]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/property-iterator.hh
* lily/translator.cc (derived_mark): new function.
[lilypond.git] / lily / include / property-iterator.hh
index 71b0441dd2ad439e6c2305287954162aaf544fa9..2da1a159a3c6d30cc3091a83fdbc46f22dd46af7 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 class Property_iterator : public Simple_music_iterator
 {
 public:
-  VIRTUAL_COPY_CONS (Music_iterator);
-  static SCM constructor_cxx_function;
-  /* construction */
+  DECLARE_SCHEME_CALLBACK(constructor, ());
+  DECLARE_SCHEME_CALLBACK(once_finalization, (SCM, SCM ));
+
+protected:
+  virtual void do_quit();
+  virtual void process (Moment);
+};
+
+
+
+
+/**
+  Iterate a property.  
+ */
+class Property_unset_iterator : public Simple_music_iterator
+{
+public:
+  DECLARE_SCHEME_CALLBACK(constructor, ());
 protected:
   virtual void process (Moment);
 };
@@ -31,20 +46,18 @@ protected:
 class Push_property_iterator : public Simple_music_iterator
 {
 public:
-  VIRTUAL_COPY_CONS (Music_iterator);
-  static SCM constructor_cxx_function;  
+  DECLARE_SCHEME_CALLBACK(constructor, ());  
+  DECLARE_SCHEME_CALLBACK(once_finalization, (SCM, SCM));
 protected:
-  /* construction */
   virtual void process (Moment);
+  virtual void do_quit();
 };
 
 class Pop_property_iterator : public Simple_music_iterator
 {
 public:
-  static SCM constructor_cxx_function;
-  VIRTUAL_COPY_CONS (Music_iterator);
+  DECLARE_SCHEME_CALLBACK(constructor, ());
 protected:
-  /* construction */
   virtual void process (Moment);
 };