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