File indexing completed on 2025-10-26 05:23:23

0001 /*
0002     SPDX-FileCopyrightText: 2011 Dmitry Risenberg <dmitry.risenberg@gmail.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KOMPAREDIFF2_MARKER_H
0008 #define KOMPAREDIFF2_MARKER_H
0009 
0010 // lib
0011 #include "komparediff2_export.h"
0012 // Qt
0013 #include <QList>
0014 
0015 namespace KompareDiff2
0016 {
0017 
0018 /**
0019  * @class Marker marker.h <KompareDiff2/Marker>
0020  *
0021  * A Marker.
0022  */
0023 class KOMPAREDIFF2_EXPORT Marker
0024 {
0025 public:
0026     enum Type {
0027         Start = 0,
0028         End = 1,
0029     };
0030 
0031 public:
0032     Marker()
0033     {
0034         m_type = Marker::Start;
0035         m_offset = 0;
0036     }
0037     Marker(Marker::Type type, unsigned int offset)
0038     {
0039         m_type = type;
0040         m_offset = offset;
0041     }
0042     ~Marker() = default;
0043 
0044 public:
0045     Marker::Type type() const
0046     {
0047         return m_type;
0048     }
0049     unsigned int offset() const
0050     {
0051         return m_offset;
0052     }
0053 
0054     void setType(Marker::Type type)
0055     {
0056         m_type = type;
0057     }
0058     void setOffset(unsigned int offset)
0059     {
0060         m_offset = offset;
0061     }
0062 
0063     bool operator==(const Marker &rhs) const
0064     {
0065         return this->type() == rhs.type() && this->offset() == rhs.offset();
0066     }
0067 
0068 private:
0069     Marker::Type m_type;
0070     unsigned int m_offset;
0071 };
0072 
0073 using MarkerList =              QList<Marker *>;
0074 using MarkerListIterator =      QList<Marker *>::iterator;
0075 using MarkerListConstIterator = QList<Marker *>::const_iterator;
0076 
0077 }
0078 
0079 #endif // KOMPAREDIFF2_MARKER_H