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