File indexing completed on 2024-04-28 09:39:20

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 #include <QList>
0011 #include "komparediff2_export.h"
0012 
0013 namespace Diff2 {
0014 
0015 /**
0016  * @class Marker marker.h <KompareDiff2/Marker>
0017  *
0018  * A Marker.
0019  */
0020 class KOMPAREDIFF2_EXPORT Marker
0021 {
0022 public:
0023     enum Type { Start = 0, End = 1 };
0024 
0025 public:
0026     Marker()
0027     {
0028         m_type = Marker::Start;
0029         m_offset = 0;
0030     }
0031     Marker(enum Marker::Type type, unsigned int offset)
0032     {
0033         m_type = type;
0034         m_offset = offset;
0035     }
0036     ~Marker() {}
0037 
0038 public:
0039     enum Marker::Type type()   const { return m_type; }
0040     unsigned int      offset() const { return m_offset; }
0041 
0042     void setType(enum Marker::Type type) { m_type   = type; }
0043     void setOffset(unsigned int offset)  { m_offset = offset; }
0044 
0045     bool operator == (const Marker& rhs) const {
0046         return this->type() == rhs.type() && this->offset() == rhs.offset();
0047     }
0048 
0049 private:
0050     enum Marker::Type m_type;
0051     unsigned int      m_offset;
0052 };
0053 
0054 using MarkerList =              QList<Marker*>;
0055 using MarkerListIterator =      QList<Marker*>::iterator;
0056 using MarkerListConstIterator = QList<Marker*>::const_iterator;
0057 
0058 }
0059 
0060 #endif // KOMPAREDIFF2_MARKER_H