Synesis Software STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ...

pantheios_initialiser Class Reference

#include <pantheios/internal/initialiser.hpp>

List of all members.


Detailed Description

Schwarz Counter initialiser for the Pantheios library.

In "normal" use, this file is included by pantheios/pantheios.hpp, so that every C++ compilation unit that may potentially be issuing Pantheios calls contains, at file scope (well, actually in an anonymous namespace that is itself at file scoope) an instance of the initialiser. Since the Pantheios core is a reference-counted API (see Chapter 11 of Imperfect C++), this means that the first C++ compilation linked in initialises the core, and the remainder keep it initialised, until they are all "completed". In other words, just including pantheios/pantheios.hpp causes Pantheios to be initialised.

In non-"normal" cases, the inclusion is not made, and the initialisation is not performed. These cases are either when:

In either of these cases, you must explicitly initialise the Pantheios core (which initialises the front-end and back-end(s)) explicitly, using pantheios_init() and pantheios_uninit().

Public Types

Member Types
typedef pantheios_initialiser class_type

Public Member Functions

Construction
 pantheios_initialiser ()
 Initialises the Pantheios API.
 ~pantheios_initialiser ()
 Uninitialises the Pantheios API.


Constructor & Destructor Documentation

pantheios_initialiser (  )  [inline]

Initialises the Pantheios API.

Calls pantheios::pantheios_init(), calling exit(1) on failure

~pantheios_initialiser (  )  [inline]

Uninitialises the Pantheios API.

Calls pantheios::pantheios_uninit()


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

pantheios Library documentation © Matthew Wilson & Synesis Software, 2006-2011 SourceForge.net Logo