/// @file samplestatcompressor.cpp
/// Sample statistical compressor
///
/// @remarks
/// This sample compressor is based on statistical compressor, and just
///  creates a 3-component compressor out of sample parser/model/coder.
///
/// @author mouser
/// @date   2003.07.29
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// application includes
#include "samplestatcompressor.hpp"
// system includes
using namespace std;
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
// Create a global instance in order to register it automatically with the global manager
SampleStatCompressor GloballyInstantiated_SampleStatCompressor(true);
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
SampleStatCompressor::SampleStatCompressor(bool registerme)
	:OctaneCompressor_Statistical(registerme)
{
	// create the children objects
	parserp=new SampleParser();
	modelerp=new SampleModeler();
	coderp=new SampleCoder();

	// REGISTER WITH COMPRESSOR MANAGER
	//  this use a trick to make sure the global manager is ready for registration
 	//  and at the same time automatically register this instance with the global manager
 	// note that the insurer is just temporary, and deletes when we exit the procedure
 	if (registerme)
		CompressorManager_SingletonInsurer managerinsurance(this);
	
	// now default setup of components
	SetupAnyDefaultParser();
}
//---------------------------------------------------------------------------
