forked from qt-creator/qt-creator
Add functionResult_t as convenience for using functionTraits
Allows functionResult_t<F> instead of typename functionTraits<F>::ResultType Change-Id: Ia85973a890303c38b598e25b2a476f659fc5c359 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -155,6 +155,9 @@ struct functionTraits<Callable&&> : public functionTraits<Callable>
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <typename F>
|
||||||
|
using functionResult_t = typename functionTraits<F>::ResultType;
|
||||||
|
|
||||||
////////////////////
|
////////////////////
|
||||||
// functionTakesArgument
|
// functionTakesArgument
|
||||||
////////////////////
|
////////////////////
|
||||||
|
@@ -243,7 +243,7 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename ResultType, typename Function, typename... Args>
|
template <typename ResultType, typename Function, typename... Args>
|
||||||
typename functionTraits<Function>::ResultType
|
functionResult_t<Function>
|
||||||
callWithMaybeFutureInterfaceDispatch(std::false_type, QFutureInterface<ResultType> &,
|
callWithMaybeFutureInterfaceDispatch(std::false_type, QFutureInterface<ResultType> &,
|
||||||
Function &&function, Args&&... args)
|
Function &&function, Args&&... args)
|
||||||
{
|
{
|
||||||
@@ -251,7 +251,7 @@ callWithMaybeFutureInterfaceDispatch(std::false_type, QFutureInterface<ResultTyp
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename ResultType, typename Function, typename... Args>
|
template <typename ResultType, typename Function, typename... Args>
|
||||||
typename functionTraits<Function>::ResultType
|
functionResult_t<Function>
|
||||||
callWithMaybeFutureInterfaceDispatch(std::true_type, QFutureInterface<ResultType> &futureInterface,
|
callWithMaybeFutureInterfaceDispatch(std::true_type, QFutureInterface<ResultType> &futureInterface,
|
||||||
Function &&function, Args&&... args)
|
Function &&function, Args&&... args)
|
||||||
{
|
{
|
||||||
@@ -259,7 +259,7 @@ callWithMaybeFutureInterfaceDispatch(std::true_type, QFutureInterface<ResultType
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename ResultType, typename Function, typename... Args>
|
template <typename ResultType, typename Function, typename... Args>
|
||||||
typename functionTraits<Function>::ResultType
|
functionResult_t<Function>
|
||||||
callWithMaybeFutureInterface(QFutureInterface<ResultType> &futureInterface,
|
callWithMaybeFutureInterface(QFutureInterface<ResultType> &futureInterface,
|
||||||
Function &&function, Args&&... args)
|
Function &&function, Args&&... args)
|
||||||
{
|
{
|
||||||
|
@@ -98,7 +98,7 @@ struct resultTypeWithArgument<Function, QFutureInterface<ResultType>&>
|
|||||||
template <typename Function, typename Arg>
|
template <typename Function, typename Arg>
|
||||||
struct resultTypeWithArgument
|
struct resultTypeWithArgument
|
||||||
{
|
{
|
||||||
using type = typename functionTraits<Function>::ResultType;
|
using type = functionResult_t<Function>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Function, int index>
|
template <typename Function, int index>
|
||||||
@@ -110,7 +110,7 @@ struct resultTypeTakesArguments<Function, index, true>
|
|||||||
template <typename Function, int index>
|
template <typename Function, int index>
|
||||||
struct resultTypeTakesArguments<Function, index, false>
|
struct resultTypeTakesArguments<Function, index, false>
|
||||||
{
|
{
|
||||||
using type = typename functionTraits<Function>::ResultType;
|
using type = functionResult_t<Function>;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Function>
|
template <typename Function>
|
||||||
|
Reference in New Issue
Block a user