2 music-wrapper-iterator.cc -- implement Music_wrapper_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "music-wrapper-iterator.hh"
11 #include "music-wrapper.hh"
13 Music_wrapper_iterator::Music_wrapper_iterator ()
19 Music_wrapper_iterator::do_quit ()
25 Music_wrapper_iterator::derived_mark () const
28 scm_gc_mark (child_iter_
->self_scm ());
32 Music_wrapper_iterator::derived_substitute (Context
*f
,Context
*t
)
36 child_iter_
->substitute_outlet (f
,t
);
40 Music_wrapper_iterator::construct_children ()
42 Music
* m
= dynamic_cast<Music_wrapper
const*> (get_music ())-> element ();
43 child_iter_
= unsmob_iterator (get_iterator (m
));
47 Music_wrapper_iterator::ok () const
49 return child_iter_
&& child_iter_
->ok ();
54 Music_wrapper_iterator::process (Moment m
)
56 child_iter_
->process (m
);
61 Music_wrapper_iterator::pending_moment () const
63 return child_iter_
->pending_moment ();
67 Music_wrapper_iterator::try_music_in_children (Music
*m
) const
69 return child_iter_
->try_music (m
);
72 IMPLEMENT_CTOR_CALLBACK (Music_wrapper_iterator
);
75 Music_wrapper_iterator::run_always () const
77 return child_iter_
->run_always ();