aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/common/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/common/utils.h')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/common/utils.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/common/utils.h b/SQLiteStudio3/coreSQLiteStudio/common/utils.h
index 24ea150..f7317e2 100644
--- a/SQLiteStudio3/coreSQLiteStudio/common/utils.h
+++ b/SQLiteStudio3/coreSQLiteStudio/common/utils.h
@@ -140,6 +140,33 @@ QList<T> concat(const QList<QList<T>>& list)
return result;
}
+template <class T, typename R = QList<T>>
+R concat(const QList<QSet<T>>& list)
+{
+ R result;
+ for (const QSet<T>& itemSet : list)
+ for (const T& subitem : itemSet)
+ result << subitem;
+
+ return result;
+}
+
+template <class T>
+QSet<T> concatSet(const QList<QSet<T>>& list)
+{
+ return concat<T, QSet<T>>(list);
+}
+
+template <class T>
+QSet<T> concat(const QSet<QSet<T>>& list)
+{
+ QSet<T> result;
+ for (const QSet<T>& item : list)
+ result.unite(item);
+
+ return result;
+}
+
API_EXPORT QStringList concat(const QList<QStringList>& list);
/**
@@ -293,6 +320,8 @@ void removeDuplicates(QList<T>& list)
}
}
+API_EXPORT uint qHash(const QVariant& var);
+
API_EXPORT QByteArray serializeToBytes(const QVariant& value);
API_EXPORT QVariant deserializeFromBytes(const QByteArray& bytes);