aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/sqlite/sqlitebasestatement.h26
-rw-r--r--src/libs/sqlite/sqlitereadstatement.h10
-rw-r--r--src/libs/sqlite/sqlitereadwritestatement.h16
3 files changed, 28 insertions, 24 deletions
diff --git a/src/libs/sqlite/sqlitebasestatement.h b/src/libs/sqlite/sqlitebasestatement.h
index fd57b4f8f1..397068477c 100644
--- a/src/libs/sqlite/sqlitebasestatement.h
+++ b/src/libs/sqlite/sqlitebasestatement.h
@@ -27,6 +27,12 @@
using std::int64_t;
+#ifdef Q_CC_MSVC
+#define FLATTEN [[msvc::flatten]]
+#else
+#define FLATTEN [[gnu::flatten]]
+#endif
+
namespace Sqlite {
class Database;
@@ -150,7 +156,7 @@ public:
using BaseStatement::BaseStatement;
StatementImplementation(StatementImplementation &&) = default;
- void execute()
+ FLATTEN void execute()
{
Resetter resetter{this};
BaseStatement::next();
@@ -166,7 +172,7 @@ public:
}
template<typename... ValueType>
- void write(const ValueType&... values)
+ FLATTEN void write(const ValueType &...values)
{
Resetter resetter{this};
bindValues(values...);
@@ -190,7 +196,7 @@ public:
std::size_t capacity = 32,
typename = std::enable_if_t<is_container<Container>::value>,
typename... QueryTypes>
- auto values(const QueryTypes &...queryValues)
+ FLATTEN auto values(const QueryTypes &...queryValues)
{
Resetter resetter{this};
Container resultValues;
@@ -211,7 +217,7 @@ public:
template<typename...> typename Container = std::vector,
typename = std::enable_if_t<!is_container<ResultType>::value>,
typename... QueryTypes>
- auto values(const QueryTypes &...queryValues)
+ FLATTEN auto values(const QueryTypes &...queryValues)
{
return values<Container<ResultType>, capacity>(queryValues...);
}
@@ -231,7 +237,7 @@ public:
}
template<typename ResultType, typename... QueryTypes>
- auto optionalValue(const QueryTypes &...queryValues)
+ FLATTEN auto optionalValue(const QueryTypes &...queryValues)
{
Resetter resetter{this};
std::optional<ResultType> resultValue;
@@ -245,7 +251,7 @@ public:
}
template<typename Type>
- static auto toValue(Utils::SmallStringView sqlStatement, Database &database)
+ FLATTEN static auto toValue(Utils::SmallStringView sqlStatement, Database &database)
{
StatementImplementation statement(sqlStatement, database);
@@ -257,7 +263,7 @@ public:
}
template<typename Callable, typename... QueryTypes>
- void readCallback(Callable &&callable, const QueryTypes &...queryValues)
+ FLATTEN void readCallback(Callable &&callable, const QueryTypes &...queryValues)
{
Resetter resetter{this};
@@ -272,7 +278,7 @@ public:
}
template<typename Container, typename... QueryTypes>
- void readTo(Container &container, const QueryTypes &...queryValues)
+ FLATTEN void readTo(Container &container, const QueryTypes &...queryValues)
{
Resetter resetter{this};
@@ -283,13 +289,13 @@ public:
}
template<typename ResultType, typename... QueryTypes>
- auto range(const QueryTypes &...queryValues)
+ FLATTEN auto range(const QueryTypes &...queryValues)
{
return SqliteResultRange<ResultType>{*this, queryValues...};
}
template<typename ResultType, typename... QueryTypes>
- auto rangeWithTransaction(const QueryTypes &...queryValues)
+ FLATTEN auto rangeWithTransaction(const QueryTypes &...queryValues)
{
return SqliteResultRangeWithTransaction<ResultType>{*this, queryValues...};
}
diff --git a/src/libs/sqlite/sqlitereadstatement.h b/src/libs/sqlite/sqlitereadstatement.h
index 4f8091598b..eebce41780 100644
--- a/src/libs/sqlite/sqlitereadstatement.h
+++ b/src/libs/sqlite/sqlitereadstatement.h
@@ -32,7 +32,7 @@ public:
using Base::values;
template<typename ResultType, typename... QueryTypes>
- auto valueWithTransaction(const QueryTypes &...queryValues)
+ FLATTEN auto valueWithTransaction(const QueryTypes &...queryValues)
{
return withDeferredTransaction(Base::database(), [&] {
return Base::template value<ResultType>(queryValues...);
@@ -40,7 +40,7 @@ public:
}
template<typename ResultType, typename... QueryTypes>
- auto optionalValueWithTransaction(const QueryTypes &...queryValues)
+ FLATTEN auto optionalValueWithTransaction(const QueryTypes &...queryValues)
{
return withDeferredTransaction(Base::database(), [&] {
return Base::template optionalValue<ResultType>(queryValues...);
@@ -48,7 +48,7 @@ public:
}
template<typename ResultType, std::size_t capacity = 32, typename... QueryTypes>
- auto valuesWithTransaction(const QueryTypes &...queryValues)
+ FLATTEN auto valuesWithTransaction(const QueryTypes &...queryValues)
{
return withDeferredTransaction(Base::database(), [&] {
return Base::template values<ResultType, capacity>(queryValues...);
@@ -56,7 +56,7 @@ public:
}
template<typename Callable, typename... QueryTypes>
- void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
+ FLATTEN void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
{
withDeferredTransaction(Base::database(), [&] {
Base::readCallback(std::forward<Callable>(callable), queryValues...);
@@ -64,7 +64,7 @@ public:
}
template<typename Container, typename... QueryTypes>
- void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
+ FLATTEN void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
{
withDeferredTransaction(Base::database(), [&] { Base::readTo(container, queryValues...); });
}
diff --git a/src/libs/sqlite/sqlitereadwritestatement.h b/src/libs/sqlite/sqlitereadwritestatement.h
index 2b3e6c3247..8e3825cb52 100644
--- a/src/libs/sqlite/sqlitereadwritestatement.h
+++ b/src/libs/sqlite/sqlitereadwritestatement.h
@@ -32,7 +32,7 @@ public:
using Base::write;
template<typename ResultType, typename... QueryTypes>
- auto valueWithTransaction(const QueryTypes &...queryValues)
+ FLATTEN auto valueWithTransaction(const QueryTypes &...queryValues)
{
return withImmediateTransaction(Base::database(), [&] {
return Base::template value<ResultType>(queryValues...);
@@ -40,17 +40,15 @@ public:
}
template<typename ResultType, typename... QueryTypes>
- auto optionalValueWithTransaction(const QueryTypes &...queryValues)
+ FLATTEN auto optionalValueWithTransaction(const QueryTypes &...queryValues)
{
return withImmediateTransaction(Base::database(), [&] {
return Base::template optionalValue<ResultType>(queryValues...);
});
}
- template<typename ResultType,
- std::size_t capacity = 32,
- typename... QueryTypes>
- auto valuesWithTransaction(const QueryTypes &...queryValues)
+ template<typename ResultType, std::size_t capacity = 32, typename... QueryTypes>
+ FLATTEN auto valuesWithTransaction(const QueryTypes &...queryValues)
{
return withImmediateTransaction(Base::database(), [&] {
return Base::template values<ResultType, capacity>(queryValues...);
@@ -58,7 +56,7 @@ public:
}
template<typename Callable, typename... QueryTypes>
- void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
+ FLATTEN void readCallbackWithTransaction(Callable &&callable, const QueryTypes &...queryValues)
{
withImmediateTransaction(Base::database(), [&] {
Base::readCallback(std::forward<Callable>(callable), queryValues...);
@@ -66,14 +64,14 @@ public:
}
template<typename Container, typename... QueryTypes>
- void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
+ FLATTEN void readToWithTransaction(Container &container, const QueryTypes &...queryValues)
{
withImmediateTransaction(Base::database(), [&] {
Base::readTo(container, queryValues...);
});
}
- void executeWithTransaction()
+ FLATTEN void executeWithTransaction()
{
withImmediateTransaction(Base::database(), [&] {
Base::execute();