]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/property-iterator.hh
* lily/include/debug.hh: deprecate.
[lilypond.git] / lily / include / property-iterator.hh
index ea429a36a4aba307108019ce746ebab0d9df14a3..9dd3b2cce08abb650bd8cca34278ee5991359e6b 100644 (file)
@@ -3,23 +3,66 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #ifndef PROPERTY_ITERATOR_HH
 #define PROPERTY_ITERATOR_HH
 
-#include "music-iterator.hh"
+#include "simple-music-iterator.hh"
 
-class Property_iterator : public Music_iterator
+
+
+
+/**
+  Iterate a property.  
+ */
+class Property_iterator : public Simple_music_iterator
+{
+public:
+  VIRTUAL_COPY_CONS (Music_iterator);
+  static SCM constructor_cxx_function;
+  /* construction */
+protected:
+  virtual void process (Moment);
+};
+
+
+
+
+/**
+  Iterate a property.  
+ */
+class Property_unset_iterator : public Simple_music_iterator
 {
-  Translation_property *property_l() const;
-  
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  VIRTUAL_COPY_CONS (Music_iterator);
+  static SCM constructor_cxx_function;
+  /* construction */
 protected:
-  virtual void do_process_and_next (Moment);
+  virtual void process (Moment);
 };
 
+class Push_property_iterator : public Simple_music_iterator
+{
+public:
+  VIRTUAL_COPY_CONS (Music_iterator);
+  static SCM constructor_cxx_function;  
+protected:
+  /* construction */
+  virtual void process (Moment);
+};
+
+class Pop_property_iterator : public Simple_music_iterator
+{
+public:
+  static SCM constructor_cxx_function;
+  VIRTUAL_COPY_CONS (Music_iterator);
+protected:
+  /* construction */
+  virtual void process (Moment);
+};
+
+
 #endif // PROPERTY_ITERATOR_HH