📄 writerfactory.cpp
字号:
//---------------------------------------------------------------------------
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -