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