2 music-constructor.cc -- implement Music_constructor
4 source file of the GNU LilyPond music typesetter
6 (c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include <map> // UGH.
14 #include "music-constructor.hh"
16 typedef Music
* (*Music_ctor
) ();
18 static std::map
<String
,Music_ctor
> *ctors_map_
;
21 add_music_ctor (String s
, Music_ctor c
)
24 ctors_map_
= new std::map
<String
, Music_ctor
>;
31 get_music_ctor (String s
)
33 if (ctors_map_
->find (s
) == ctors_map_
->end ())
36 return (* ctors_map_
)[s
];
42 Music_ctor c
= get_music_ctor (s
);
44 programming_error (String ("No constructor for music: ") + s
);