LEFT | RIGHT |
(no file at all) | |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 2015--2019 Daniel Eble <dan@faithful.be> | 4 Copyright (C) 2015--2019 Daniel Eble <dan@faithful.be> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "music-wrapper-iterator.hh" | 23 #include "music-wrapper-iterator.hh" |
24 #include "context.hh" | 24 #include "context.hh" |
25 | 25 |
26 /** base for iterators that perform a sequence of timed context changes */ | 26 /** base for iterators that perform a sequence of timed context changes */ |
27 class Change_sequence_iterator : public Music_wrapper_iterator | 27 class Change_sequence_iterator : public Music_wrapper_iterator |
28 { | 28 { |
29 public: | 29 public: |
30 Change_sequence_iterator (); | 30 Change_sequence_iterator (); |
31 | 31 |
32 protected: | 32 protected: |
33 virtual void construct_children (); | 33 void construct_children () override; |
34 virtual void process (Moment); | 34 void process (Moment) override; |
35 | 35 |
36 private: | 36 private: |
37 // implement in derived class to effect a context change | 37 // implement in derived class to effect a context change |
38 virtual void change_to (const string &id) = 0; | 38 virtual void change_to (const string &id) = 0; |
39 | 39 |
40 private: | 40 private: |
41 // There is no need to protect this in derived_mark() because it is protected | 41 // There is no need to protect this in derived_mark() because it is protected |
42 // via Music_iterator::music_. | 42 // via Music_iterator::music_. |
43 SCM change_list_; | 43 SCM change_list_; |
44 }; | 44 }; |
45 | 45 |
46 | 46 |
47 #endif /* CHANGE_SEQUENCE_ITERATOR_HH */ | 47 #endif /* CHANGE_SEQUENCE_ITERATOR_HH */ |
LEFT | RIGHT |