2 music-iterator.hh -- declare Music_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
10 #ifndef MUSIC_ITERATOR_HH
11 #define MUSIC_ITERATOR_HH
13 #include "lily-proto.hh"
17 #include "virtual-methods.hh"
19 class Music_iterator {
20 Array<Translator *>report_to_l_arr_;
21 void push_translator (Translator*);
22 void pop_translator();
25 virtual void do_print() const;
27 virtual Translator * get_req_translator_l();
28 Music_iterator* get_iterator_p (Music*) const;
29 void set_translator (Translator*);
30 Music_iterator *daddy_iter_l_;
33 Translator *report_to_l() const;
34 DECLARE_MY_RUNTIME_TYPEINFO;
36 static Music_iterator* static_get_iterator_p (Music*,Translator*);
39 virtual void process_and_next (Moment until);
40 virtual Moment next_moment() const;
41 virtual bool ok() const;
42 virtual ~Music_iterator();
43 virtual void construct_children();
47 #endif // MUSIC_ITERATOR_HH