📄 readerfactory.cpp
字号:
//---------------------------------------------------------------------------
#pragma hdrstop
#include "ReaderFactory.h"
#include "WriterFactory.h"
#include "RtfReader.h"
#include "HtmlReader.h"
#include "TextReader.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
namespace DoxEngine
{
template <class T> class ReaderFactoryTemplate: public ReaderFactory
{
virtual ReadInterface* Create(std::istream &stream, WriterInterface &writer, DebugLog& newLog)
{
return new T(stream, writer, newLog);
}
};
ReaderFactories& ReaderFactoriesSingleton::GetReaderFactories()
{
// This function should only be called from the main thread
static ReaderFactories* readers = NULL;
if (!readers)
{
readers = new ReaderFactories;
readers->insert(ReaderFactories::value_type(FORMAT_RTF, ReaderFactoryPtr(new ReaderFactoryTemplate<RtfReader>)));
readers->insert(ReaderFactories::value_type(FORMAT_HTML, ReaderFactoryPtr(new ReaderFactoryTemplate<HtmlReader>)));
readers->insert(ReaderFactories::value_type(FORMAT_TEXT, ReaderFactoryPtr(new ReaderFactoryTemplate<TextReader>)));
}
return *readers;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -