]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/sequential-music-iterator.hh
patch::: 1.3.85.jcn4
[lilypond.git] / lily / include / sequential-music-iterator.hh
index f4810c836ca546a352fc0aeb5090ecec9d4b1c72..1a2dc730e7221c233a6857a8eb952c6fff75f898 100644 (file)
@@ -3,38 +3,42 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #ifndef SEQUENTIAL_MUSIC_ITERATOR_HH
 #define SEQUENTIAL_MUSIC_ITERATOR_HH
 
-#include "music-list-iterator.hh"
+#include "music-iterator.hh"
 
 /** Sequential_music iteration: walk each element in turn, and
   construct an iterator for every element.
   
  */
-class Sequential_music_iterator :  public Music_list_iterator
+class Sequential_music_iterator :  public Music_iterator
 {
 public:
+  VIRTUAL_COPY_CONS (Music_iterator);
   Sequential_music_iterator ();
+  Sequential_music_iterator (Sequential_music_iterator const&);
   virtual ~Sequential_music_iterator ();
 
   virtual void construct_children ();
   virtual Moment next_moment () const;
   virtual bool ok () const;
+  virtual Music* get_music ();
+  virtual bool next ();
 
 protected:
   virtual void do_print() const;
   virtual void do_process_and_next (Moment);
+  virtual Music_iterator *try_music_in_children (Music *) const;
+
 
 private:
   Moment here_mom_;
 
-  /// don't go into next element when you finish.
-  bool per_elt_b_;
-  Cons<Music> *cursor_;
+  SCM cursor_;
   Music_iterator * iter_p_;
 
   /*