In "normal" use, this file is included by fastformat/fastformat.hpp, so that every C++ compilation unit that may potentially be issuing FastFormat calls contains, at file scope (well, actually in an anonymous namespace that is itself at file scoope) an instance of the initialiser. Since the FastFormat 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 fastformat/fastformat.hpp causes FastFormat to be initialised.
In non-"normal" cases, the inclusion is not made, and the initialisation is not performed. These cases are either when:
_WINDLL, and the preprocessor symbol
FASTFORMAT_FORCE_AUTO_INITis not defined), or
Public Member Functions
|Initialises the FastFormat library. |
|Uninitialises the FastFormat library. |
|FastFormat Library documentation © Matthew Wilson, 2006-2009|