]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/request-chord-iterator.hh
release: 1.3.107
[lilypond.git] / lily / include / request-chord-iterator.hh
index a4794f100b02d92f674668406148b605989b6cfc..204598bdd090a0bb50132387d61424de59e0d92b 100644 (file)
 #ifndef REQUEST_ITER_HH
 #define REQUEST_ITER_HH
 
-#include "music-iterator.hh"
+#include "simple-music-iterator.hh"
 
 /**
    Walk through a Request_chord
  */
-class Request_chord_iterator : public Music_iterator
+class Request_chord_iterator : public Simple_music_iterator
 {
   Request_chord * elt_l () const;
   /**
-     cache elt_l ()->length_mom ().
+     Find a bottom notation context to deliver requests to.
    */
-  Moment elt_length_mom_;
-  bool last_b_;
+  virtual Translator_group* get_req_translator_l ();
 
+
+  /*
+    Since Request_chord_iterator has no list-cursor internally, we
+    must use a status variable to adminstrate where we are */
+  
+  enum { NONE_DONE, START_DONE, END_DONE }  status_;
 public:
   VIRTUAL_COPY_CONS (Music_iterator);
+  static SCM constructor_cxx_function;
   Request_chord_iterator ();
   Request_chord_iterator (Request_chord_iterator const&);
-  
-  virtual bool next ();
-  virtual bool ok () const;
 
+  virtual SCM get_music (Moment) const;
 protected:
-  virtual void do_process_and_next (Moment);
-  virtual Moment next_moment() const;
+  virtual void process (Moment);
   virtual void construct_children();
-  virtual void do_print() const;
 };