From 922e39f61deb4732033734efee44f71582d1fa51 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 8 Jul 2017 20:32:11 +0200 Subject: [PATCH] Ref T104, utility function --- src/blackmisc/db/datastoreobjectlist.cpp | 14 ++++++++++++++ src/blackmisc/db/datastoreobjectlist.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/blackmisc/db/datastoreobjectlist.cpp b/src/blackmisc/db/datastoreobjectlist.cpp index d3ac892d0..93e6b4641 100644 --- a/src/blackmisc/db/datastoreobjectlist.cpp +++ b/src/blackmisc/db/datastoreobjectlist.cpp @@ -79,6 +79,20 @@ namespace BlackMisc return keys; } + template + QString IDatastoreObjectList::dbKeysAsStrings(const QString &separator) const + { + if (ITimestampObjectList::container().isEmpty()) { return ""; } + const QSet keys = IDatastoreObjectList::toDbKeySet(); + QString s; + for (const KEYTYPE &k : keys) + { + if (!s.isEmpty()) { s += separator; } + s = s.append(k); // append works with string and int + } + return s; + } + template KEYTYPE IDatastoreObjectList::getMaxKey(bool *ok) const { diff --git a/src/blackmisc/db/datastoreobjectlist.h b/src/blackmisc/db/datastoreobjectlist.h index 32604f2da..ea71e5811 100644 --- a/src/blackmisc/db/datastoreobjectlist.h +++ b/src/blackmisc/db/datastoreobjectlist.h @@ -38,6 +38,9 @@ namespace BlackMisc //! All keys as list QSet toDbKeySet() const; + //! The DB keys as string + QString dbKeysAsStrings(const QString &separator) const; + //! Max.key value (making sense with integer key) KEYTYPE getMaxKey(bool *ok = nullptr) const;