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 "music-constructor.hh"
12 #include <map> // UGH.
17 typedef Music *(*Music_ctor) ();
19 static std::map<String,Music_ctor> *ctors_map_;
22 add_music_ctor (String s, Music_ctor c)
25 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);