// Init.C
// ----------------------------------------------------------------
// Course: Algorithm Library Design, Lutz Kettner, 20.05.2003
// Example of a C++ Library with initialization and housekeeping.

#include <EX/Init.h>
#include <iostream>

namespace EX {

unsigned int Init::count = 0;

Init::Init() { // default constructor
    if ( 0 == count++) {
	// perform initialization
	std::cerr << "library initialization called." << std::endl;
    }
}

Init::~Init() { // destructor
    if ( 0 == --count) {
	// perform housekeeping
	std::cerr << "library housekeeping called." << std::endl;
    }
}

} // namespace EX

// EOF //

