2 sequential-iterator.hh -- declare Sequential_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 2002--2006 Han-Wen Nienhuys <hanwen@xs4all.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 DECLARE_CLASSNAME(Sequential_iterator);
23 Sequential_iterator ();
24 Sequential_iterator (Sequential_iterator const &);
25 virtual void derived_substitute (Context *f, Context *t);
27 virtual void derived_mark () const;
29 virtual void construct_children ();
30 virtual Moment pending_moment () const;
31 virtual void do_quit ();
32 virtual bool ok () const;
35 virtual void process (Moment);
36 virtual bool run_always () const;
39 Music_iterator *iter_;
41 virtual SCM get_music_list () const;
42 virtual void next_element (bool side_effect);
44 Grace_fixup *get_grace_fixup () const;
45 void next_grace_fixup ();
51 Grace_fixup *grace_fixups_;
54 #endif /* SEQUENTIAL_ITERATOR_HH */