source file of the GNU LilyPond music typesetter
- (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef TRANSLATOR_ICC
#define TRANSLATOR_ICC
-#include "array.hh"
+#include "std-vector.hh"
#include "translator.hh"
/**
ADD_GLOBAL_CTOR (_ ## T ## _adder);
#define ADD_TRANSLATOR(classname, desc, grobs, accepted, read, write) \
- Array<Acknowledge_information> classname::acknowledge_static_array_; \
+ Drul_array< vector<Acknowledge_information> > classname::acknowledge_static_array_drul_; \
IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS (classname); \
ADD_THIS_TRANSLATOR (classname); \
Engraver_void_function_engraver_grob_info \
classname::static_get_acknowledger (SCM sym) \
{ \
- return generic_get_acknowledger (sym, &acknowledge_static_array_); \
+ return generic_get_acknowledger (sym, &acknowledge_static_array_drul_[START]); \
+ } \
+ Engraver_void_function_engraver_grob_info \
+ classname::static_get_end_acknowledger (SCM sym) \
+ { \
+ return generic_get_acknowledger (sym, &acknowledge_static_array_drul_[STOP]); \
} \
SCM \
classname::static_translator_description () const \
void add_acknowledger (Engraver_void_function_engraver_grob_info ptr,
char const *func_name,
- Array<Acknowledge_information> *ack_array);
+ vector<Acknowledge_information> *ack_array);
Engraver_void_function_engraver_grob_info
generic_get_acknowledger (SCM sym,
- Array<Acknowledge_information> const *ack_array);
+ vector<Acknowledge_information> const *ack_array);
#define ADD_ACKNOWLEDGER(CLASS, NAME) \
void CLASS ## NAME ## _ack_adder () \
{ \
- add_acknowledger ((Engraver_void_function_engraver_grob_info) & CLASS::acknowledge_ ## NAME, #NAME, &CLASS::acknowledge_static_array_); \
+ add_acknowledger ((Engraver_void_function_engraver_grob_info) & CLASS::acknowledge_ ## NAME, #NAME, &CLASS::acknowledge_static_array_drul_[START]); \
} \
ADD_SCM_INIT_FUNC (CLASS ## NAME ## _ack_adder_initclass, CLASS ## NAME ## _ack_adder);
+#define ADD_END_ACKNOWLEDGER(CLASS, NAME) \
+ void CLASS ## NAME ## _end_ack_adder () \
+ { \
+ add_acknowledger ((Engraver_void_function_engraver_grob_info) & CLASS::acknowledge_end_ ## NAME, #NAME, &CLASS::acknowledge_static_array_drul_[STOP]); \
+ } \
+ ADD_SCM_INIT_FUNC (CLASS ## NAME ## _end_ack_adder_initclass, CLASS ## NAME ## _end_ack_adder);
+
#endif /* TRANSLATOR_ICC */