Open Chinese Convert
1.3.2+gad37fd0a6.dirty
A project for conversion between Traditional and Simplified Chinese
Toggle main menu visibility
Loading...
Searching...
No Matches
OpenCC-ver.1.3.2
src
Converter.hpp
1
/*
2
* Open Chinese Convert
3
*
4
* Copyright 2010-2014 Carbo Kuo <byvoid@byvoid.com>
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#pragma once
20
21
#include <cstddef>
22
#include <string>
23
#include <string_view>
24
25
#include "Common.hpp"
26
#include "ConversionInspection.hpp"
27
#include "Segmentation.hpp"
28
29
namespace
opencc {
44
class
OPENCC_EXPORT
Converter
{
45
public
:
46
virtual
~Converter
() =
default
;
47
52
virtual
std::string
Convert
(std::string_view text)
const
= 0;
53
60
virtual
ConversionInspectionResult
Inspect
(std::string_view text)
const
= 0;
61
66
virtual
SegmentationPtr
GetSegmentation
()
const
= 0;
67
72
virtual
ConversionChainPtr
GetConversionChain
()
const
= 0;
73
};
74
75
class
OPENCC_EXPORT
ConverterStream
{
76
public
:
84
explicit
ConverterStream
(ConverterPtr converter,
size_t
maxKeepChars = 16)
85
: converter(converter), maxKeepChars(maxKeepChars) {}
86
93
std::string ConvertChunk(std::string_view input);
94
102
std::string Finish(std::string_view input);
103
104
std::string Finish();
105
106
private
:
107
ConverterPtr converter;
108
size_t
maxKeepChars;
109
std::string pending;
110
};
111
}
// namespace opencc
opencc::Converter
Abstract base for full-text converters.
Definition
Converter.hpp:44
opencc::Converter::Inspect
virtual ConversionInspectionResult Inspect(std::string_view text) const =0
Converts text and returns a detailed inspection result that includes the initial segmentation,...
opencc::Converter::Convert
virtual std::string Convert(std::string_view text) const =0
Converts text and returns the result.
opencc::Converter::GetSegmentation
virtual SegmentationPtr GetSegmentation() const =0
Returns the segmentation used by this converter, or nullptr if the converter has no single segmentati...
opencc::Converter::GetConversionChain
virtual ConversionChainPtr GetConversionChain() const =0
Returns the conversion chain used by this converter, or nullptr if the converter has no single chain ...
opencc::ConverterStream::ConverterStream
ConverterStream(ConverterPtr converter, size_t maxKeepChars=16)
Definition
Converter.hpp:84
opencc::ConversionInspectionResult
Full inspection result returned by Converter::Inspect().
Definition
ConversionInspection.hpp:52
Generated on
for Open Chinese Convert by
1.17.0