]> git.donarmstrong.com Git - lilypond.git/blob - lily/global-ctor.cc
release: 1.3.131
[lilypond.git] / lily / global-ctor.cc
1 /*   
2   global-ctor.cc --  implement global constructors
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9 #include "global-ctor.hh"
10 #include "array.hh"
11
12 static Array<Global_ctor> *ctor_global_static_arr_p_;
13
14 void
15 add_constructor (Global_ctor c)
16 {
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);
20 }
21
22 void
23 call_constructors ()
24 {
25   for (int i=0; i < ctor_global_static_arr_p_->size (); i++)
26     (ctor_global_static_arr_p_->elem (i)) ();
27 }