From 795991b19aa1b2ce87c1f41c4d64064c5a8935a1 Mon Sep 17 00:00:00 2001 From: Naios Date: Tue, 9 Jun 2015 23:47:34 +0200 Subject: [PATCH] add traits for easier usage --- fluent++/Callback.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/fluent++/Callback.h b/fluent++/Callback.h index bb9a443..cdb3eb7 100644 --- a/fluent++/Callback.h +++ b/fluent++/Callback.h @@ -54,11 +54,20 @@ namespace detail } // detail template -typename detail::unwrap_callback<_CTy>::SharedCallbackType +using callback_of_t = typename detail::unwrap_callback<_CTy>::CallbackType; + +template +using shared_callback_of_t = typename detail::unwrap_callback<_CTy>::SharedCallbackType; + +template +using weak_callback_of_t = typename detail::unwrap_callback<_CTy>::WeakCallbackType; + +template +typename shared_callback_of_t<_CTy> make_shared_callback(_CTy&& callback) { - return std::make_shared::CallbackType> - (std::forward::CallbackType>(callback)); + return std::make_shared> + (std::forward>(callback)); } #endif /// _TASK_SCHEDULER_H_