Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ICompareDocuments.h

Go to the documentation of this file.
00001 /**
00002 * @file         IDocumentForm.h
00003 * @brief    2つの文書の比較を行うインターフェイス
00004 *
00005 * @author       Nakashima h
00006 * @date     2022-02-02
00007 *
00008 * $Id: ICompareDocuments.h 32 2022-07-14 03:20:43Z shingo.yoneda $
00009 *
00010 * Copyright (c) 2022 Antenna House, Inc. All rights reserved.
00011 */
00012 
00013 #pragma once
00014 #include <queue>
00015 #include <memory>
00016 #include <string>
00017 
00018 //#include <AHOOXMLDocxManagerCppCtl/ChangedRatio.h>
00019 #include "ChangedRatio.h"
00020 
00021 /**
00022  * @brief    2つの文書の比較を行うクラス
00023  */
00024 class ICompareDocuments {
00025 protected:
00026     /**
00027     * @brief    デフォルトコンストラクタ
00028     */
00029     ICompareDocuments() = default;
00030 
00031     /**
00032     * @brief    コピーコンストラクタ
00033     */
00034     ICompareDocuments(const ICompareDocuments&) = delete;
00035 
00036     /**
00037     * @brief    コピー代入演算子
00038     */
00039     ICompareDocuments& operator=(const ICompareDocuments&) = delete;
00040 
00041     /**
00042     * @brief    ムーブコンストラクタ
00043     */
00044     ICompareDocuments(ICompareDocuments&&) = delete;
00045 
00046     /**
00047     * @brief    ムーブ代入演算子
00048     */
00049     ICompareDocuments& operator=(ICompareDocuments&&) = delete;
00050 
00051 public:
00052     /**
00053     * @brief    デストラクタ
00054     */
00055     virtual ~ICompareDocuments() = default;
00056 
00057     /**
00058     * @brief    文書の比較を実行するオブジェクトを生成する
00059     */
00060     static std::unique_ptr<ICompareDocuments> create();
00061 
00062     /**
00063     * @brief    文書の比較を実行する
00064     * @param originalFilePath - 原本のパス
00065     * @param revisedFilePath - 改訂版のパス
00066     * @param outputFilePath - 比較結果の出力パス
00067     */
00068     virtual void CompareDocument(std::string const& originalFilePath, std::string const& revisedFilePath, std::string const& outputFilePath) = 0;
00069 
00070     /**
00071     * @brief    新旧対照表を作成する
00072     * @param originalFilePath - 原本のパス
00073     * @param revisedFilePath - 改訂版のパス
00074     * @param outputFilePath - 新旧対照表の出力パス
00075     */
00076     virtual void CreateComparativeTable(std::string const& originalFilePath, std::string const& revisedFilePath, std::string const& outputFilePath) = 0;
00077 
00078     /**
00079     * @brief    文書の変更割合をパースする
00080     * @param originalFilePath - 原本のパス
00081     * @param revisedFilePath - 改訂版のパス
00082     * @return 文書の変更割合
00083     */
00084     virtual ChangedRatio ParseChangedRatio(std::string const& originalFilePath, std::string const& revisedFilePath) = 0;
00085 };

Generated on 19 Jan 2023 for Word API C/C++ Interface by Doxygen 1.3-rc2