]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/sequential-music-iterator.hh
release: 1.1.54
[lilypond.git] / lily / include / sequential-music-iterator.hh
index bcbf81769cffd5583d16d22fe5d5caa967edb76b..bfab2b805fe1f44205192fdb199363848467521a 100644 (file)
@@ -1,40 +1,41 @@
 /*
-  Sequential_music-iter.hh -- declare Sequential_music_iterator
+  Sequential_music-iterator.hh -- declare Sequential_music_iterator
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#ifndef SEQUENTIAL_MUSIC_ITER_HH
-#define SEQUENTIAL_MUSIC_ITER_HH
+#ifndef SEQUENTIAL_MUSIC_ITERATOR_HH
+#define SEQUENTIAL_MUSIC_ITERATOR_HH
 
-#include "music-iterator.hh"
-#include "pcursor.hh"
+#include "music-list-iterator.hh"
 
 /** Sequential_music iteration: walk each element in turn, and
   construct an iterator for every element.
   
  */
-class Sequential_music_iterator :  public Music_iterator
+class Sequential_music_iterator :  public Music_list_iterator
 {
 public:
   Sequential_music_iterator ();
-  ~Sequential_music_iterator ();
+  virtual ~Sequential_music_iterator ();
 
   virtual void construct_children ();
   virtual Moment next_moment () const;
+  virtual Music* next_music_l ();
   virtual bool ok () const;
 
 protected:
-  Sequential_music * sequential_music_l() const;
-
   virtual void do_print() const;
   virtual void do_process_and_next (Moment);
 
 private:
   Moment here_mom_;
-  PCursor<Music*> *cursor_p_;
+
+  /// don't go into next element when you finish.
+  bool per_elt_b_;
+  Cons<Music> *cursor_;
   Music_iterator * iter_p_;
 
   /*
@@ -42,7 +43,7 @@ private:
    */
   void start_next_element();
   void leave_element();
-  void set_Sequential_music_translator();
+  void set_sequential_music_translator();
 };
 
-#endif // SEQUENTIAL_MUSIC_ITER_HH
+#endif // SEQUENTIAL_MUSIC_ITERATOR_HH