2 sequential-iterator.hh -- declare Sequential_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 2002--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #ifndef SEQUENTIAL_ITERATOR_HH
10 #define SEQUENTIAL_ITERATOR_HH
12 #include "music-iterator.hh"
13 #include "protected-scm.hh"
15 /** Sequential_music iteration: walk each element in turn, and
16 construct an iterator for every element.
18 class Sequential_iterator : public Music_iterator
21 DECLARE_SCHEME_CALLBACK (constructor, ());
22 Sequential_iterator ();
23 Sequential_iterator (Sequential_iterator const &);
24 virtual void derived_substitute (Context *f, Context *t);
26 virtual void derived_mark () const;
28 virtual void construct_children ();
29 virtual Moment pending_moment () const;
30 virtual void do_quit ();
31 virtual bool ok () const;
34 virtual void process (Moment);
35 virtual Music_iterator *try_music_in_children (Music *) const;
36 virtual bool run_always () const;
38 Music_iterator *iter_;
39 virtual SCM get_music_list ()const;
40 virtual void next_element (bool side_effect);
42 Grace_fixup *get_grace_fixup () const;
43 void next_grace_fixup ();
49 Grace_fixup *grace_fixups_;
53 #endif /* SEQUENTIAL_ITERATOR_HH */