DiffOperation.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/string.h>
5 #include <system/iequatable.h>
6 #include <cstdint>
7 
8 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
9 
10 namespace Aspose
11 {
12 namespace Pdf
13 {
14 namespace Comparison
15 {
16 class ComparisonStatisticsBuilder;
17 namespace Diff
18 {
19 namespace DiffOptimization
20 {
21 class OperationsMerger;
22 class OperationsSlideMerger;
23 } // namespace DiffOptimization
24 class DiffSolver;
25 class DiffUtils;
26 } // namespace Diff
27 namespace OutputGenerator
28 {
31 } // namespace OutputGenerator
32 namespace SideBySideComparison
33 {
34 class PagesTextFragmentsComparer;
35 class SideBySideDocumentBuider;
36 class TextChangeMapper;
37 } // namespace SideBySideComparison
38 } // namespace Comparison
39 namespace Tests
40 {
41 namespace Comparation
42 {
43 namespace DiffOptimizers
44 {
45 class OptomizersTests;
46 } // namespace DiffOptimizers
47 class DiffTests;
48 class DiffUtilsTests;
49 class OutputGeneratorsTests;
50 class PdfTextComparationTests;
51 } // namespace Comparation
52 } // namespace Tests
53 } // namespace Pdf
54 } // namespace Aspose
55 
56 namespace Aspose {
57 
58 namespace Pdf {
59 
60 namespace Comparison {
61 
62 namespace Diff {
63 
67 enum class Operation
68 {
72  Equal,
76  Delete,
80  Insert
81 };
82 
86 class ASPOSE_PDF_SHARED_CLASS DiffOperation : public System::IEquatable<System::SharedPtr<Aspose::Pdf::Comparison::Diff::DiffOperation>>
87 {
88  typedef DiffOperation ThisType;
90 
91  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
92  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
93 
94  friend class Aspose::Pdf::Comparison::Diff::DiffOptimization::OperationsMerger;
95  friend class Aspose::Pdf::Comparison::Diff::DiffOptimization::OperationsSlideMerger;
96  friend class Aspose::Pdf::Comparison::Diff::DiffSolver;
97  friend class Aspose::Pdf::Comparison::Diff::DiffUtils;
101  friend class Aspose::Pdf::Comparison::SideBySideComparison::PagesTextFragmentsComparer;
102  friend class Aspose::Pdf::Comparison::SideBySideComparison::SideBySideDocumentBuider;
103  friend class Aspose::Pdf::Comparison::SideBySideComparison::TextChangeMapper;
104  friend class Aspose::Pdf::Tests::Comparation::DiffTests;
105  friend class Aspose::Pdf::Tests::Comparation::DiffUtilsTests;
106  friend class Aspose::Pdf::Tests::Comparation::OutputGeneratorsTests;
107  friend class Aspose::Pdf::Tests::Comparation::PdfTextComparationTests;
108  friend class Aspose::Pdf::Tests::Comparation::DiffOptimizers::OptomizersTests;
109 
110 public:
111 
115  ASPOSE_PDF_SHARED_API Aspose::Pdf::Comparison::Diff::Operation get_Operation() const;
119  ASPOSE_PDF_SHARED_API System::String get_Text() const;
120 
121  ASPOSE_PDF_SHARED_API bool Equals(System::SharedPtr<System::Object> other) override;
122  ASPOSE_PDF_SHARED_API bool Equals(System::SharedPtr<DiffOperation> op) override;
123  ASPOSE_PDF_SHARED_API int32_t GetHashCode() const override;
124  ASPOSE_PDF_SHARED_API System::String ToString() const override;
125 
126 protected:
127 
131  ASPOSE_PDF_SHARED_API void set_Operation(Aspose::Pdf::Comparison::Diff::Operation value);
135  ASPOSE_PDF_SHARED_API void set_Text(System::String value);
136 
143 
144  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(DiffOperation, CODEPORTING_ARGS(Aspose::Pdf::Comparison::Diff::Operation operation, System::String text));
145 
146 private:
147 
149  System::String pr_Text;
150 
151  System::String ToString_NonConst();
152 
153 };
154 
155 } // namespace Diff
156 } // namespace Comparison
157 } // namespace Pdf
158 } // namespace Aspose
159 
160 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
Represents a class for generating markdown representation of texts differences. Because of the markdo...
Definition: MarkdownDiffOutputGenerator.h:57
Operation
Represents a difference operation type.
Definition: DiffOperation.h:67
Represents a class for building comparison statistics.
Definition: ComparisonStatistics.h:147
Definition: signed_info.h:13
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: SideBySidePdfComparer.h:24
Represents a class of diff operation.
Definition: DiffOperation.h:86
Definition: AFRelationship.h:4
Defines a method that determines the equality of two objects. Objects of this class should only be al...
Definition: iequatable.h:15
Represents a class for generating html representation of texts differences. Deleted line breaks are i...
Definition: HtmlDiffOutputGenerator.h:59
Whole PDF file will be submitted.