diff options
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/common/utils.h')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/common/utils.h | 29 |
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); |
