From 3486c7cab45ac0060bfc1dee3f92e723a8731446 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 14 Feb 2018 10:35:31 +0100 Subject: Simplify some templates ... using C++14's "_t" typedef. Change-Id: I908c5a8005d40bfed4b457cb250ecc38ed959a18 Reviewed-by: Joerg Bornemann --- src/lib/corelib/tools/persistence.h | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'src/lib/corelib/tools/persistence.h') 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 inline std::shared_ptr PersistentPool::idLoadS() /***** Specializations of Helper class *****/ -template -struct PersistentPool::Helper::value>::type> +template struct PersistentPool::Helper::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 }; template -struct PersistentPool::Helper::value - && !std::is_same::value>::type> +struct PersistentPool::Helper::value + && !std::is_same::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 -struct PersistentPool::Helper::value>::type> +template struct PersistentPool::Helper::value>> { - using U = typename std::underlying_type::type; + using U = std::underlying_type_t; static void store(const T &value, PersistentPool *pool) { pool->m_stream << static_cast(value); @@ -247,7 +245,7 @@ template struct PersistentPool::Helper> } static void load(std::shared_ptr &value, PersistentPool *pool) { - value = pool->idLoadS::type>(); + value = pool->idLoadS>(); } }; @@ -259,7 +257,7 @@ template struct PersistentPool::Helper> } static void load(std::unique_ptr &ptr, PersistentPool *pool) { - ptr.reset(pool->idLoad::type>()); + ptr.reset(pool->idLoad>()); } }; @@ -340,8 +338,7 @@ template<> struct IsSimpleContainer : std::true_type { }; template struct IsSimpleContainer> : std::true_type { }; template struct IsSimpleContainer> : std::true_type { }; -template -struct PersistentPool::Helper::value>::type> +template struct PersistentPool::Helper::value>> { static void store(const T &container, PersistentPool *pool) { @@ -364,7 +361,7 @@ template struct IsKeyValueContainer> : std::t template struct IsKeyValueContainer> : std::true_type { }; template -struct PersistentPool::Helper::value>::type> +struct PersistentPool::Helper::value>> { static void store(const T &container, PersistentPool *pool) { -- cgit v1.2.3