lilypond-1.3.130
[lilypond.git] / lily / global-ctor.cc
blobb48a72ff3b4485e2eceda863adeaf6819c5dfda8
1 /*
2 global-ctor.cc -- implement global constructors
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
8 */
9 #include "global-ctor.hh"
10 #include "array.hh"
12 static Array<Global_ctor> *ctor_global_static_arr_p_;
14 void
15 add_constructor (Global_ctor c)
17 if (!ctor_global_static_arr_p_)
18 ctor_global_static_arr_p_ = new Array<Global_ctor>;
19 ctor_global_static_arr_p_->push (c);
22 void
23 call_constructors ()
25 for (int i=0; i < ctor_global_static_arr_p_->size (); i++)
26 (ctor_global_static_arr_p_->elem (i)) ();