File indexing completed on 2024-05-05 05:46:49
0001 /* 0002 SPDX-FileCopyrightText: 2001-2004,2009 Otto Bruggeman <bruggie@gmail.com> 0003 SPDX-FileCopyrightText: 2001-2003 John Firebaugh <jfirebaugh@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KOMPAREDIFF2_DIFFERENCESTRING_H 0009 #define KOMPAREDIFF2_DIFFERENCESTRING_H 0010 0011 // lib 0012 #include "komparediff2_export.h" 0013 #include "marker.h" 0014 // Qt 0015 #include <QList> 0016 #include <QString> 0017 // Std 0018 #include <memory> 0019 0020 namespace KompareDiff2 0021 { 0022 class DifferenceStringPrivate; 0023 0024 /** 0025 * @class DifferenceString differencestring.h <KompareDiff2/DifferenceString> 0026 * 0027 * A difference string. 0028 */ 0029 class KOMPAREDIFF2_EXPORT DifferenceString 0030 { 0031 public: 0032 DifferenceString(); 0033 explicit DifferenceString(const QString &string, const MarkerList &markerList = MarkerList()); 0034 DifferenceString(const DifferenceString &ds); 0035 ~DifferenceString(); 0036 0037 public: 0038 bool operator==(const DifferenceString &ks) const; 0039 0040 QString string() const; 0041 QString conflictString() const; 0042 MarkerList markerList() const; 0043 void setString(const QString &string); 0044 void setConflictString(const QString &conflict); 0045 void setMarkerList(const MarkerList &markerList); 0046 void prepend(Marker *marker); 0047 0048 private: 0049 Q_DECLARE_PRIVATE(DifferenceString) 0050 std::unique_ptr<DifferenceStringPrivate> const d_ptr; 0051 }; 0052 0053 using DifferenceStringList = QList<DifferenceString *>; 0054 using DifferenceStringListIterator = QList<DifferenceString *>::iterator; 0055 using DifferenceStringListConstIterator = QList<DifferenceString *>::const_iterator; 0056 0057 } 0058 0059 #endif