writerfactory.cpp

来自「把html转成txt 把html转成txt」· C++ 代码 · 共 42 行

CPP
42
字号
//---------------------------------------------------------------------------


#pragma hdrstop

#include "WriterFactory.h"
#include "RtfWriter.h"
#include "HtmlWriter.h"
#include "TextWriter.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

namespace DoxEngine
{
	template <class T> class WriterFactoryTemplate: public WriterFactory
	{
		virtual WriterInterface* Create(std::ostream &stream, DebugLog &log)
		{
      return new T(stream, log);
    }
  };

	WriterFactories& WriterFactoriesSingleton::GetWriterFactories()
	{
		// This function should only be called from the main thread
		static WriterFactories* writers = NULL;

		if (!writers)
		{
			writers = new WriterFactories;
			writers->insert(WriterFactories::value_type(FORMAT_RTF, WriterFactoryPtr(new WriterFactoryTemplate<RtfWriter>)));
			writers->insert(WriterFactories::value_type(FORMAT_HTML, WriterFactoryPtr(new WriterFactoryTemplate<HtmlWriter>)));
			writers->insert(WriterFactories::value_type(FORMAT_TEXT, WriterFactoryPtr(new WriterFactoryTemplate<TextWriter>)));
		}

		return *writers;

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?