2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-18 01:52:24 +00:00

async(): use rv-ref in result_of<>

This commit is contained in:
Oliver Kowalke
2015-07-31 10:48:00 +02:00
parent a9eb294f9d
commit 01a2162eb0

View File

@@ -20,9 +20,9 @@ namespace boost {
namespace fibers {
template< typename Fn, typename ... Args >
future< typename std::result_of< Fn( Args ... ) >::type >
future< typename std::result_of< Fn&&( Args && ... ) >::type >
async( Fn && fn, Args && ... args) {
typedef typename std::result_of< Fn( Args ... ) >::type result_type;
typedef typename std::result_of< Fn&&( Args && ... ) >::type result_type;
packaged_task< result_type( Args ... ) > pt( std::forward< Fn >( fn) );
future< result_type > f( pt.get_future() );
@@ -31,9 +31,9 @@ async( Fn && fn, Args && ... args) {
}
template< typename StackAllocator, typename Fn, typename ... Args >
future< typename std::result_of< Fn( Args ... ) >::type >
future< typename std::result_of< Fn&&( Args && ... ) >::type >
async( StackAllocator salloc, Fn && fn, Args && ... args) {
typedef typename std::result_of< Fn( Args ... ) >::type result_type;
typedef typename std::result_of< Fn&&( Args && ... ) >::type result_type;
packaged_task< result_type( Args ... ) > pt(
std::forward< Fn >( fn), std::forward< Args >( args) ... );