-/***************************************************************************
- * Copyright (C) 2013 by Frank Reininghaus <frank78ac@googlemail.com> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
+/*
+ * SPDX-FileCopyrightText: 2013 Frank Reininghaus <frank78ac@googlemail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
#ifndef KITEMSET_H
#define KITEMSET_H
#include "dolphin_export.h"
-
-#include <kitemviews/kitemrange.h>
+#include "kitemviews/kitemrange.h"
/**
* @brief Stores a set of integer numbers in a space-efficient way.
{
public:
KItemSet();
- KItemSet(const KItemSet& other);
+ KItemSet(const KItemSet &other);
~KItemSet();
- KItemSet& operator=(const KItemSet& other);
+ KItemSet &operator=(const KItemSet &other);
/**
* Returns the number of items in the set.
bool isEmpty() const;
void clear();
- bool operator==(const KItemSet& other) const;
- bool operator!=(const KItemSet& other) const;
+ bool operator==(const KItemSet &other) const;
+ bool operator!=(const KItemSet &other) const;
class iterator
{
- iterator(const KItemRangeList::iterator& rangeIt, int offset) :
- m_rangeIt(rangeIt),
- m_offset(offset)
+ iterator(const KItemRangeList::iterator &rangeIt, int offset)
+ : m_rangeIt(rangeIt)
+ , m_offset(offset)
{
}
public:
- iterator(const iterator& other) :
- m_rangeIt(other.m_rangeIt),
- m_offset(other.m_offset)
+ iterator(const iterator &other)
+ : m_rangeIt(other.m_rangeIt)
+ , m_offset(other.m_offset)
{
}
- iterator& operator=(const iterator& other)
+ iterator &operator=(const iterator &other)
{
m_rangeIt = other.m_rangeIt;
m_offset = other.m_offset;
return m_rangeIt->index + m_offset;
}
- inline bool operator==(const iterator& other) const
+ inline bool operator==(const iterator &other) const
{
return m_rangeIt == other.m_rangeIt && m_offset == other.m_offset;
}
- inline bool operator!=(const iterator& other) const
+ inline bool operator!=(const iterator &other) const
{
return !(*this == other);
}
- inline iterator& operator++()
+ inline iterator &operator++()
{
++m_offset;
return r;
}
- inline iterator& operator--()
+ inline iterator &operator--()
{
if (m_offset == 0) {
--m_rangeIt;
friend class KItemSet;
};
-
class const_iterator
{
- const_iterator(KItemRangeList::const_iterator rangeIt, int offset) :
- m_rangeIt(rangeIt),
- m_offset(offset)
+ const_iterator(KItemRangeList::const_iterator rangeIt, int offset)
+ : m_rangeIt(rangeIt)
+ , m_offset(offset)
{
}
public:
- const_iterator(const const_iterator& other) :
- m_rangeIt(other.m_rangeIt),
- m_offset(other.m_offset)
+ const_iterator(const const_iterator &other)
+ : m_rangeIt(other.m_rangeIt)
+ , m_offset(other.m_offset)
{
}
- explicit const_iterator(const iterator& other) :
- m_rangeIt(other.m_rangeIt),
- m_offset(other.m_offset)
+ explicit const_iterator(const iterator &other)
+ : m_rangeIt(other.m_rangeIt)
+ , m_offset(other.m_offset)
{
}
- const_iterator& operator=(const const_iterator& other)
+ const_iterator &operator=(const const_iterator &other)
{
m_rangeIt = other.m_rangeIt;
m_offset = other.m_offset;
return m_rangeIt->index + m_offset;
}
- inline bool operator==(const const_iterator& other) const
+ inline bool operator==(const const_iterator &other) const
{
return m_rangeIt == other.m_rangeIt && m_offset == other.m_offset;
}
- inline bool operator!=(const const_iterator& other) const
+ inline bool operator!=(const const_iterator &other) const
{
return !(*this == other);
}
- inline const_iterator& operator++()
+ inline const_iterator &operator++()
{
++m_offset;
return r;
}
- inline const_iterator& operator--()
+ inline const_iterator &operator--()
{
if (m_offset == 0) {
--m_rangeIt;
* Returns a new set which contains all items that are contained in this
* KItemSet, in \a other, or in both.
*/
- KItemSet operator+(const KItemSet& other) const;
+ KItemSet operator+(const KItemSet &other) const;
/**
* Returns a new set which contains all items that are contained either in
* this KItemSet, or in \a other, but not in both (the symmetric difference
* of both KItemSets).
*/
- KItemSet operator^(const KItemSet& other) const;
+ KItemSet operator^(const KItemSet &other) const;
- KItemSet& operator<<(int i);
+ KItemSet &operator<<(int i);
private:
/**
friend class KItemSetTest;
};
-inline KItemSet::KItemSet() :
- m_itemRanges()
+inline KItemSet::KItemSet()
+ : m_itemRanges()
{
}
-inline KItemSet::KItemSet(const KItemSet& other) :
- m_itemRanges(other.m_itemRanges)
+inline KItemSet::KItemSet(const KItemSet &other)
+ : m_itemRanges(other.m_itemRanges)
{
}
inline KItemSet::~KItemSet() = default;
-inline KItemSet& KItemSet::operator=(const KItemSet& other)
+inline KItemSet &KItemSet::operator=(const KItemSet &other)
{
- m_itemRanges=other.m_itemRanges;
+ m_itemRanges = other.m_itemRanges;
return *this;
}
inline int KItemSet::count() const
{
int result = 0;
- foreach (const KItemRange& range, m_itemRanges) {
+ for (const KItemRange &range : qAsConst(m_itemRanges)) {
result += range.count;
}
return result;
m_itemRanges.clear();
}
-inline bool KItemSet::operator==(const KItemSet& other) const
+inline bool KItemSet::operator==(const KItemSet &other) const
{
return m_itemRanges == other.m_itemRanges;
}
-inline bool KItemSet::operator!=(const KItemSet& other) const
+inline bool KItemSet::operator!=(const KItemSet &other) const
{
return m_itemRanges != other.m_itemRanges;
}
inline int KItemSet::last() const
{
- const KItemRange& lastRange = m_itemRanges.last();
+ const KItemRange &lastRange = m_itemRanges.last();
return lastRange.index + lastRange.count - 1;
}
-inline KItemSet& KItemSet::operator<<(int i)
+inline KItemSet &KItemSet::operator<<(int i)
{
insert(i);
return *this;