source file of the GNU LilyPond music typesetter
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef MUSIC_ITERATOR_HH
#define MUSIC_ITERATOR_HH
-#include "array.hh"
+#include "std-vector.hh"
#include "moment.hh"
#include "virtual-methods.hh"
-#include "interpretation-context-handle.hh"
+#include "context-handle.hh"
/**
---
Moment music_length_;
Moment start_mom_;
+ DECLARE_CLASSNAME(Music_iterator);
DECLARE_SMOBS (Music_iterator, dummy);
Music_iterator (Music_iterator const &);
void descend_to_child (Context *);
private:
- Interpretation_context_handle handle_;
+ Context_handle handle_;
Music *music_;
};
bool is_child_context (Context *me, Context *child);
#define IMPLEMENT_CTOR_CALLBACK(Class) \
- LY_DEFINE_MEMBER_FUNCTION (Class, constructor, #Class "::constructor", \
+ LY_DEFINE_MEMBER_FUNCTION (Class, constructor, \
+ mangle_cxx_identifier (string (#Class) + "::constructor").c_str(), \
0, 0, 0, \
(), \
"") \
{ \
- SCM val = (new Class)->self_scm (); \
- scm_gc_unprotect_object (val); \
- return val; \
+ Class *c = (new Class); \
+ return c->unprotect (); \
}
DECLARE_UNSMOB (Music_iterator, iterator);