aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/tools/persistence.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-02-14 10:35:31 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-02-15 12:18:06 +0000
commit3486c7cab45ac0060bfc1dee3f92e723a8731446 (patch)
tree429286b0b9f2e17a52340e85eda74a4560b7404b /src/lib/corelib/tools/persistence.h
parent410740fc0ea11a78e2fd6d934f2ff79e2fbb3fb8 (diff)
Simplify some templates
... using C++14's "_t" typedef. Change-Id: I908c5a8005d40bfed4b457cb250ecc38ed959a18 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/tools/persistence.h')
-rw-r--r--src/lib/corelib/tools/persistence.h21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/lib/corelib/tools/persistence.h b/src/lib/corelib/tools/persistence.h
index 923d5b059..9aec8eff9 100644
--- a/src/lib/corelib/tools/persistence.h
+++ b/src/lib/corelib/tools/persistence.h
@@ -194,8 +194,7 @@ template <class T> inline std::shared_ptr<T> PersistentPool::idLoadS()
/***** Specializations of Helper class *****/
-template<typename T>
-struct PersistentPool::Helper<T, typename std::enable_if<std::is_integral<T>::value>::type>
+template<typename T> struct PersistentPool::Helper<T, std::enable_if_t<std::is_integral<T>::value>>
{
static void store(const T &value, PersistentPool *pool) { pool->m_stream << value; }
static void load(T &value, PersistentPool *pool) { pool->m_stream >> value; }
@@ -213,8 +212,8 @@ template<> struct PersistentPool::Helper<long>
};
template<typename T>
-struct PersistentPool::Helper<T, typename std::enable_if<std::is_same<T, std::time_t>::value
- && !std::is_same<T, long>::value>::type>
+struct PersistentPool::Helper<T, std::enable_if_t<std::is_same<T, std::time_t>::value
+ && !std::is_same<T, long>::value>>
{
static void store(std::time_t value, PersistentPool *pool) { pool->m_stream << qint64(value); }
static void load(std::time_t &value, PersistentPool *pool)
@@ -225,10 +224,9 @@ struct PersistentPool::Helper<T, typename std::enable_if<std::is_same<T, std::ti
}
};
-template<typename T>
-struct PersistentPool::Helper<T, typename std::enable_if<std::is_enum<T>::value>::type>
+template<typename T> struct PersistentPool::Helper<T, std::enable_if_t<std::is_enum<T>::value>>
{
- using U = typename std::underlying_type<T>::type;
+ using U = std::underlying_type_t<T>;
static void store(const T &value, PersistentPool *pool)
{
pool->m_stream << static_cast<U>(value);
@@ -247,7 +245,7 @@ template<typename T> struct PersistentPool::Helper<std::shared_ptr<T>>
}
static void load(std::shared_ptr<T> &value, PersistentPool *pool)
{
- value = pool->idLoadS<typename std::remove_const<T>::type>();
+ value = pool->idLoadS<std::remove_const_t<T>>();
}
};
@@ -259,7 +257,7 @@ template<typename T> struct PersistentPool::Helper<std::unique_ptr<T>>
}
static void load(std::unique_ptr<T> &ptr, PersistentPool *pool)
{
- ptr.reset(pool->idLoad<typename std::remove_const<T>::type>());
+ ptr.reset(pool->idLoad<std::remove_const_t<T>>());
}
};
@@ -340,8 +338,7 @@ template<> struct IsSimpleContainer<QStringList> : std::true_type { };
template<typename T> struct IsSimpleContainer<QList<T>> : std::true_type { };
template<typename T> struct IsSimpleContainer<std::vector<T>> : std::true_type { };
-template<typename T>
-struct PersistentPool::Helper<T, typename std::enable_if<IsSimpleContainer<T>::value>::type>
+template<typename T> struct PersistentPool::Helper<T, std::enable_if_t<IsSimpleContainer<T>::value>>
{
static void store(const T &container, PersistentPool *pool)
{
@@ -364,7 +361,7 @@ template<typename K, typename V> struct IsKeyValueContainer<QMap<K, V>> : std::t
template<typename K, typename V> struct IsKeyValueContainer<QHash<K, V>> : std::true_type { };
template<typename T>
-struct PersistentPool::Helper<T, typename std::enable_if<IsKeyValueContainer<T>::value>::type>
+struct PersistentPool::Helper<T, std::enable_if_t<IsKeyValueContainer<T>::value>>
{
static void store(const T &container, PersistentPool *pool)
{