X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmusic-wrapper-iterator.hh;h=efb460d8c11b27e0c4d6941998ba8936f78efce6;hb=6f3f8f0fceed3b318c2572337e7dca83e4a11f6c;hp=cae63b2096ccab8e3a3789f980daa4202bebe9b0;hpb=28ec8d66e2243ad5bee7591bf8f67d661dd3f125;p=lilypond.git diff --git a/lily/include/music-wrapper-iterator.hh b/lily/include/music-wrapper-iterator.hh index cae63b2096..efb460d8c1 100644 --- a/lily/include/music-wrapper-iterator.hh +++ b/lily/include/music-wrapper-iterator.hh @@ -1,40 +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--2014 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 { public: + DECLARE_SCHEME_CALLBACK (constructor, ()); Music_wrapper_iterator (); - -protected: - virtual ~Music_wrapper_iterator (); - - virtual void do_print () const; - virtual void construct_children () ; - virtual void do_process_and_next (Moment) ; - virtual Moment next_moment () const; - -protected: - virtual Music_wrapper *music_wrapper_l () 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); -private: - Music_iterator *child_iter_p_; + Music_iterator *child_iter_; }; #endif /* MUSIC_WRAPPER_ITERATOR_HH */ - -