2 sequential-iterator.hh -- declare Sequential_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 2002--2004 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"
16 /** Sequential_music iteration: walk each element in turn, and
17 construct an iterator for every element.
20 class Sequential_iterator : public Music_iterator
23 DECLARE_SCHEME_CALLBACK(constructor, ());
24 Sequential_iterator ();
25 Sequential_iterator (Sequential_iterator const&);
26 virtual void derived_substitute (Context *f, Context *t) ;
28 virtual void derived_mark () const;
30 virtual void construct_children ();
31 virtual Moment pending_moment () const;
32 virtual void do_quit();
33 virtual bool ok () const;
36 virtual void process (Moment);
37 virtual Music_iterator *try_music_in_children (Music *) const;
38 virtual bool run_always () const;
40 Music_iterator * iter_;
41 virtual SCM get_music_list ()const;
42 virtual void next_element (bool side_effect);
45 Grace_fixup *get_grace_fixup () const;
46 void next_grace_fixup ();
52 Grace_fixup * grace_fixups_;
56 #endif /* SEQUENTIAL_ITERATOR_HH */