GiNaC 1.8.7
|
Helper class to initialize the library. More...
#include <ex.h>
Public Member Functions | |
library_init () | |
Ctor of static initialization helpers. More... | |
~library_init () | |
Dtor of static initialization helpers. More... | |
Static Private Member Functions | |
static void | init_unarchivers () |
Static Private Attributes | |
static int | count = 0 |
How many static objects were created? Only the first one must create the static flyweights on the heap. More... | |
Helper class to initialize the library.
There must be one static object of this class in every object file that makes use of our flyweights in order to guarantee proper initialization. Hence we put it into this file which is included by every relevant file anyways. This is modeled after section [ios::Init] of the C++ standard, where cout and friends are set up.
GiNaC::library_init::library_init | ( | ) |
Ctor of static initialization helpers.
The fist call to this is going to initialize the library, the others do nothing.
Definition at line 77 of file utils.cpp.
References GiNaC::_ex0, GiNaC::_ex1, GiNaC::_ex10, GiNaC::_ex11, GiNaC::_ex12, GiNaC::_ex120, GiNaC::_ex15, GiNaC::_ex18, GiNaC::_ex1_2, GiNaC::_ex1_3, GiNaC::_ex1_4, GiNaC::_ex2, GiNaC::_ex20, GiNaC::_ex24, GiNaC::_ex25, GiNaC::_ex3, GiNaC::_ex30, GiNaC::_ex4, GiNaC::_ex48, GiNaC::_ex5, GiNaC::_ex6, GiNaC::_ex60, GiNaC::_ex7, GiNaC::_ex8, GiNaC::_ex9, GiNaC::_ex_1, GiNaC::_ex_10, GiNaC::_ex_11, GiNaC::_ex_12, GiNaC::_ex_120, GiNaC::_ex_15, GiNaC::_ex_18, GiNaC::_ex_1_2, GiNaC::_ex_1_3, GiNaC::_ex_1_4, GiNaC::_ex_2, GiNaC::_ex_20, GiNaC::_ex_24, GiNaC::_ex_25, GiNaC::_ex_3, GiNaC::_ex_30, GiNaC::_ex_4, GiNaC::_ex_48, GiNaC::_ex_5, GiNaC::_ex_6, GiNaC::_ex_60, GiNaC::_ex_7, GiNaC::_ex_8, GiNaC::_ex_9, GiNaC::_num0_bp, GiNaC::_num0_p, GiNaC::_num10_p, GiNaC::_num11_p, GiNaC::_num120_p, GiNaC::_num12_p, GiNaC::_num15_p, GiNaC::_num18_p, GiNaC::_num1_2_p, GiNaC::_num1_3_p, GiNaC::_num1_4_p, GiNaC::_num1_p, GiNaC::_num20_p, GiNaC::_num24_p, GiNaC::_num25_p, GiNaC::_num2_p, GiNaC::_num30_p, GiNaC::_num3_p, GiNaC::_num48_p, GiNaC::_num4_p, GiNaC::_num5_p, GiNaC::_num60_p, GiNaC::_num6_p, GiNaC::_num7_p, GiNaC::_num8_p, GiNaC::_num9_p, GiNaC::_num_10_p, GiNaC::_num_11_p, GiNaC::_num_120_p, GiNaC::_num_12_p, GiNaC::_num_15_p, GiNaC::_num_18_p, GiNaC::_num_1_2_p, GiNaC::_num_1_3_p, GiNaC::_num_1_4_p, GiNaC::_num_1_p, GiNaC::_num_20_p, GiNaC::_num_24_p, GiNaC::_num_25_p, GiNaC::_num_2_p, GiNaC::_num_30_p, GiNaC::_num_3_p, GiNaC::_num_48_p, GiNaC::_num_4_p, GiNaC::_num_5_p, GiNaC::_num_60_p, GiNaC::_num_6_p, GiNaC::_num_7_p, GiNaC::_num_8_p, GiNaC::_num_9_p, and count.
GiNaC::library_init::~library_init | ( | ) |
Dtor of static initialization helpers.
The last call to this is going to shut down the library, the others do nothing.
Definition at line 201 of file utils.cpp.
References GiNaC::_ex0, GiNaC::_ex1, GiNaC::_ex10, GiNaC::_ex11, GiNaC::_ex12, GiNaC::_ex120, GiNaC::_ex15, GiNaC::_ex18, GiNaC::_ex1_2, GiNaC::_ex1_3, GiNaC::_ex1_4, GiNaC::_ex2, GiNaC::_ex20, GiNaC::_ex24, GiNaC::_ex25, GiNaC::_ex3, GiNaC::_ex30, GiNaC::_ex4, GiNaC::_ex48, GiNaC::_ex5, GiNaC::_ex6, GiNaC::_ex60, GiNaC::_ex7, GiNaC::_ex8, GiNaC::_ex9, GiNaC::_ex_1, GiNaC::_ex_10, GiNaC::_ex_11, GiNaC::_ex_12, GiNaC::_ex_120, GiNaC::_ex_15, GiNaC::_ex_18, GiNaC::_ex_1_2, GiNaC::_ex_1_3, GiNaC::_ex_1_4, GiNaC::_ex_2, GiNaC::_ex_20, GiNaC::_ex_24, GiNaC::_ex_25, GiNaC::_ex_3, GiNaC::_ex_30, GiNaC::_ex_4, GiNaC::_ex_48, GiNaC::_ex_5, GiNaC::_ex_6, GiNaC::_ex_60, GiNaC::_ex_7, GiNaC::_ex_8, GiNaC::_ex_9, and count.
|
staticprivate |
|
staticprivate |
How many static objects were created? Only the first one must create the static flyweights on the heap.
Definition at line 56 of file ex.h.
Referenced by library_init(), and ~library_init().