mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-25 01:14:07 +00:00
102 lines
2.6 KiB
C++
102 lines
2.6 KiB
C++
/*
|
|
* Open Chinese Convert
|
|
*
|
|
* Copyright 2010-2014 BYVoid <byvoid@byvoid.com>
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Microsoft Visual C++ specific
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
#pragma warning(disable : 4251 4266 4350 4503 4512 4514 4710 4820)
|
|
#endif
|
|
|
|
#include <algorithm>
|
|
#include <fstream>
|
|
#include <functional>
|
|
#include <iostream>
|
|
#include <list>
|
|
#include <map>
|
|
#include <memory>
|
|
#include <sstream>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include <cassert>
|
|
#include <cstddef>
|
|
#include <cstdio>
|
|
#include <cstring>
|
|
#include <ctime>
|
|
|
|
#include "Exception.hpp"
|
|
#include "Export.hpp"
|
|
#include "Optional.hpp"
|
|
|
|
using std::list;
|
|
using std::string;
|
|
using std::vector;
|
|
|
|
// Forward decalarations and alias
|
|
namespace opencc {
|
|
class Config;
|
|
class Conversion;
|
|
class ConversionChain;
|
|
class Converter;
|
|
class Dict;
|
|
class DictEntry;
|
|
class DictGroup;
|
|
class Lexicon;
|
|
class MarisaDict;
|
|
class MultiValueDictEntry;
|
|
class NoValueDictEntry;
|
|
class Segmentation;
|
|
class Segments;
|
|
class SerializableDict;
|
|
class SingleValueDictEntry;
|
|
class TextDict;
|
|
typedef std::shared_ptr<Conversion> ConversionPtr;
|
|
typedef std::shared_ptr<ConversionChain> ConversionChainPtr;
|
|
typedef std::shared_ptr<Converter> ConverterPtr;
|
|
typedef std::shared_ptr<Dict> DictPtr;
|
|
typedef std::shared_ptr<DictGroup> DictGroupPtr;
|
|
typedef std::shared_ptr<Lexicon> LexiconPtr;
|
|
typedef std::shared_ptr<MarisaDict> MarisaDictPtr;
|
|
typedef std::shared_ptr<Segmentation> SegmentationPtr;
|
|
typedef std::shared_ptr<Segments> SegmentsPtr;
|
|
typedef std::shared_ptr<SerializableDict> SerializableDictPtr;
|
|
typedef std::shared_ptr<TextDict> TextDictPtr;
|
|
|
|
#ifdef ENABLE_DARTS
|
|
class BinaryDict;
|
|
class DartsDict;
|
|
typedef std::shared_ptr<BinaryDict> BinaryDictPtr;
|
|
typedef std::shared_ptr<DartsDict> DartsDictPtr;
|
|
#endif
|
|
|
|
} // namespace opencc
|
|
|
|
#ifndef PKGDATADIR
|
|
const string PACKAGE_DATA_DIRECTORY = "";
|
|
#else // ifndef PKGDATADIR
|
|
const string PACKAGE_DATA_DIRECTORY = PKGDATADIR "/";
|
|
#endif // ifndef PKGDATADIR
|
|
|
|
#ifndef VERSION
|
|
#define VERSION "1.0.*"
|
|
#endif // ifndef VERSION
|
|
|
|
// The following definitions are provided by CMake
|
|
// #define ENABLE_DARTS
|