#include "lily-proto.hh"
#include "plist.hh"
+#include "varray.hh"
#include "moment.hh"
class Music_iterator {
public:
Music_iterator *daddy_iter_l_;
- NAME_MEMBERS();
- Translator *report_to_l_;
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ Array<Translator *>report_to_l_arr_;
+
+ Translator *report_to_l()const;
static Music_iterator* static_get_iterator_p(Music*,Translator*);
Music_iterator* get_iterator_p(Music*)const;
void set_translator(Translator*);
+ void push_translator(Translator*);
+ void pop_translator();
+
+
Music_iterator();
virtual void process_and_next(Moment until);
virtual Translator * get_req_translator_l();
};
-// duh.
-class Request_iterator : public Music_iterator {
- Request *req_l_;
- bool last_b_;
-public:
- Request_iterator(Request const *);
- NAME_MEMBERS();
-protected:
- virtual bool ok() const;
- virtual Moment next_moment() const;
-
- virtual void do_print()const;
- virtual void process_and_next(Moment);
-};
-
class Change_iterator : public Music_iterator {
Change_reg * change_l_;
public:
- NAME_MEMBERS();
+ DECLARE_MY_RUNTIME_TYPEINFO;
virtual void process_and_next(Moment);
Change_iterator(Change_reg*);
};
const Chord *chord_C_;
Pointer_list<Music_iterator*> children_p_list_;
public:
+ ~Chord_iterator();
Chord_iterator(Chord const*);
- NAME_MEMBERS();
+ DECLARE_MY_RUNTIME_TYPEINFO;
protected:
virtual void do_print()const;
virtual void construct_children();
virtual bool ok()const;
};
-class Voice_element_iterator : public Chord_iterator {
+class Request_chord_iterator : public Music_iterator {
+ const Request_chord * elt_l_;
+ Moment elt_duration_;
+ bool last_b_;
+public:
+ Request_chord_iterator(Request_chord*);
+ DECLARE_MY_RUNTIME_TYPEINFO;
protected:
+ virtual void process_and_next(Moment);
+ virtual Moment next_moment()const;
virtual void construct_children();
-public:
- Voice_element_iterator(Voice_element*);
- NAME_MEMBERS();
+ virtual bool ok()const;
+ virtual void do_print()const;
};
void next_element();
public:
Voice_iterator(Voice const*);
- NAME_MEMBERS();
+ DECLARE_MY_RUNTIME_TYPEINFO;
protected:
virtual void do_print()const;
virtual void construct_children();