Open Chinese Convert
1.4.0
A project for conversion between Traditional and Simplified Chinese
Toggle main menu visibility
Loading...
Searching...
No Matches
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 {
48
class
OPENCC_EXPORT
Converter
{
49
public
:
50
virtual
~Converter
() =
default
;
51
56
virtual
std::string
Convert
(std::string_view text)
const
= 0;
57
64
virtual
ConversionInspectionResult
Inspect
(std::string_view text)
const
= 0;
65
70
virtual
SegmentationPtr
GetSegmentation
()
const
= 0;
71
76
virtual
ConversionChainPtr
GetConversionChain
()
const
= 0;
77
};
78
79
class
OPENCC_EXPORT
ConverterStream
{
80
public
:
88
explicit
ConverterStream
(ConverterPtr converter,
size_t
maxKeepChars = 16)
89
: converter(converter), maxKeepChars(maxKeepChars) {}
90
97
std::string ConvertChunk(std::string_view input);
98
106
std::string Finish(std::string_view input);
107
108
std::string Finish();
109
110
private
:
111
ConverterPtr converter;
112
size_t
maxKeepChars;
113
std::string pending;
114
};
115
}
// namespace opencc
opencc::Converter
Abstract base for full-text converters.
Definition
Converter.hpp:48
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:88
opencc::ConversionInspectionResult
Full inspection result returned by Converter::Inspect().
Definition
ConversionInspection.hpp:52
Generated on
for Open Chinese Convert by
1.17.0