Open Chinese Convert 1.3.2
A project for conversion between Traditional and Simplified Chinese
Loading...
Searching...
No Matches
PipelineConverter.hpp
1/*
2 * Open Chinese Convert
3 *
4 * Copyright 2010-2026 Carbo Kuo and contributors
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 <utility>
22#include <vector>
23
24#include "Converter.hpp"
25
26namespace opencc {
42class OPENCC_EXPORT PipelineConverter : public Converter {
43public:
45 explicit PipelineConverter(std::vector<ConverterPtr> stages)
46 : stages(std::move(stages)) {}
47
48 std::string Convert(std::string_view text) const override;
49
54 ConversionInspectionResult Inspect(std::string_view text) const override;
55
57 SegmentationPtr GetSegmentation() const override;
58
60 ConversionChainPtr GetConversionChain() const override { return nullptr; }
61
62private:
63 const std::vector<ConverterPtr> stages;
64};
65} // namespace opencc
Abstract base for full-text converters.
Definition Converter.hpp:44
ConversionChainPtr GetConversionChain() const override
Always returns nullptr; a pipeline has no single conversion chain.
Definition PipelineConverter.hpp:60
PipelineConverter(std::vector< ConverterPtr > stages)
Definition PipelineConverter.hpp:45
Full inspection result returned by Converter::Inspect().
Definition ConversionInspection.hpp:52