From 91dc9f8956207791a54e47d162bbc9fd4a163c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 1 Sep 2013 20:08:50 +0200 Subject: [PATCH] std::decay in fact does the thing we need. Exactly this approach is used in e.g. std::make_optional, as seen on cppreference.com. Improves 68638969f3bbcd2f7f8a9a17619c1b1680146229. --- src/AbstractResourceLoader.h | 4 ++-- src/ResourceManager.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/AbstractResourceLoader.h b/src/AbstractResourceLoader.h index 6100eddc9..892f13de3 100644 --- a/src/AbstractResourceLoader.h +++ b/src/AbstractResourceLoader.h @@ -162,7 +162,7 @@ template class AbstractResourceLoader { /** @overload */ template void set(ResourceKey key, U&& data, ResourceDataState state, ResourcePolicy policy) { - set(key, new typename std::remove_cv::type>::type(std::forward(data)), state, policy); + set(key, new typename std::decay::type(std::forward(data)), state, policy); } /** @@ -177,7 +177,7 @@ template class AbstractResourceLoader { /** @overload */ template void set(ResourceKey key, U&& data) { - set(key, new typename std::remove_cv::type>::type(std::forward(data))); + set(key, new typename std::decay::type(std::forward(data))); } /** diff --git a/src/ResourceManager.h b/src/ResourceManager.h index 114983d6a..ab8c70659 100644 --- a/src/ResourceManager.h +++ b/src/ResourceManager.h @@ -315,7 +315,7 @@ template class ResourceManager: private Implementation::Resource /** @overload */ template ResourceManager& set(ResourceKey key, U&& data, ResourceDataState state, ResourcePolicy policy) { - return set(key, new typename std::remove_cv::type>::type(std::forward(data)), state, policy); + return set(key, new typename std::decay::type(std::forward(data)), state, policy); } /** @@ -331,7 +331,7 @@ template class ResourceManager: private Implementation::Resource /** @overload */ template ResourceManager& set(ResourceKey key, U&& data) { - return set(key, new typename std::remove_cv::type>::type(std::forward(data))); + return set(key, new typename std::decay::type(std::forward(data))); } /** @brief Fallback for not found resources */ @@ -355,7 +355,7 @@ template class ResourceManager: private Implementation::Resource /** @overload */ template ResourceManager& setFallback(U&& data) { - return setFallback(new typename std::remove_cv::type>::type(std::forward(data))); + return setFallback(new typename std::decay::type(std::forward(data))); } /**