X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmusic-wrapper-iterator.hh;h=47cd6763c3ab99a151e9609a776ab77ce9949dc1;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=02a4e97fa0089fd9a415054bb6308957d3190f31;hpb=615a9212789c2cb2994748c023d0e19f3a83a0fd;p=lilypond.git diff --git a/lily/include/music-wrapper-iterator.hh b/lily/include/music-wrapper-iterator.hh index 02a4e97fa0..47cd6763c3 100644 --- a/lily/include/music-wrapper-iterator.hh +++ b/lily/include/music-wrapper-iterator.hh @@ -1,34 +1,53 @@ -/* - music-wrapper-iterator.hh -- declare - - source file of the GNU LilyPond music typesetter - - (c) 1998 Han-Wen Nienhuys - - */ +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 1998--2015 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ #ifndef MUSIC_WRAPPER_ITERATOR_HH #define MUSIC_WRAPPER_ITERATOR_HH -#include "music.hh" #include "music-iterator.hh" +/** + The iterator for a #Music_wrapper#. Since #Music_wrapper# essentially + does nothing, this iterator creates a child iterator and delegates + all work to that child. +*/ class Music_wrapper_iterator : public Music_iterator { - Music_iterator *child_iter_p_; - Music_wrapper *music_wrapper_l(); public: + DECLARE_SCHEME_CALLBACK (constructor, ()); Music_wrapper_iterator (); - ~Music_wrapper_iterator (); - virtual void do_print () const; - virtual void construct_children () ; - virtual void do_process_and_next (Moment) ; - virtual Moment next_moment () const; + DECLARE_CLASSNAME (Music_wrapper_iterator); + + virtual Context *get_outlet () const; + virtual void set_context (Context *trans); + virtual void derived_substitute (Context *f, Context *t); + virtual void derived_mark () const; + virtual void construct_children (); + virtual Moment pending_moment () const; + virtual void do_quit (); virtual bool ok () const; - + virtual bool run_always () const; +protected: + virtual void process (Moment); + + Music_iterator *child_iter_; }; #endif /* MUSIC_WRAPPER_ITERATOR_HH */ - -