GiNaC 1.8.7
Public Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
GiNaC::library_init Class Reference

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...

Detailed Description

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.

See also

Definition at line 50 of file ex.h.

Constructor & Destructor Documentation

◆ library_init()

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.

◆ ~library_init()

GiNaC::library_init::~library_init ( )

Member Function Documentation

◆ init_unarchivers()

void GiNaC::library_init::init_unarchivers ( )

Definition at line 260 of file utils.cpp.

Member Data Documentation

◆ count

int GiNaC::library_init::count = 0

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().

The documentation for this class was generated from the following files:

This page is part of the GiNaC developer's reference. It was generated automatically by doxygen. For an introduction, see the tutorial.