]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemset.h
Fix selection rect after porting from QFontMetrics::width()
[dolphin.git] / src / kitemviews / kitemset.h
index 385010f7d634fd53b204995588b590aaf4ad2ad1..14aa665a149829ee9e428a7f3bcc8574c6466408 100644 (file)
@@ -20,7 +20,8 @@
 #ifndef KITEMSET_H
 #define KITEMSET_H
 
-#include <kitemviews/kitemrange.h>
+#include "dolphin_export.h"
+#include "kitemviews/kitemrange.h"
 
 /**
  * @brief Stores a set of integer numbers in a space-efficient way.
  * The complexity of most operations depends on the number of ranges.
  */
 
-class KItemSet
+class DOLPHIN_EXPORT KItemSet
 {
 public:
     KItemSet();
     KItemSet(const KItemSet& other);
+    ~KItemSet();
+    KItemSet& operator=(const KItemSet& other);
 
     /**
      * Returns the number of items in the set.
@@ -80,6 +83,8 @@ public:
             return *this;
         }
 
+        ~iterator() = default;
+
         int operator*() const
         {
             return m_rangeIt->index + m_offset;
@@ -157,7 +162,7 @@ public:
         {
         }
 
-        const_iterator(const iterator& other) :
+        explicit const_iterator(const iterator& other) :
             m_rangeIt(other.m_rangeIt),
             m_offset(other.m_offset)
         {
@@ -170,6 +175,8 @@ public:
             return *this;
         }
 
+        ~const_iterator() = default;
+
         int operator*() const
         {
             return m_rangeIt->index + m_offset;
@@ -297,6 +304,14 @@ inline KItemSet::KItemSet(const KItemSet& other) :
 {
 }
 
+inline KItemSet::~KItemSet() = default;
+
+inline KItemSet& KItemSet::operator=(const KItemSet& other)
+{
+    m_itemRanges=other.m_itemRanges;
+    return *this;
+}
+
 inline int KItemSet::count() const
 {
     int result = 0;