mirror of
https://github.com/boostorg/fiber.git
synced 2026-02-02 20:52:21 +00:00
fix overloads of fiber ctor for gcc
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/intrusive_ptr.hpp>
|
||||
#include <boost/predef.h>
|
||||
|
||||
#include <boost/fiber/detail/config.hpp>
|
||||
#include <boost/fiber/detail/disable_overload.hpp>
|
||||
@@ -53,9 +54,15 @@ public:
|
||||
|
||||
template< typename Fn,
|
||||
typename ... Arg,
|
||||
typename = detail::disable_overload< fiber, Fn >
|
||||
typename = detail::disable_overload< fiber, Fn >,
|
||||
typename = detail::disable_overload< launch, Fn >,
|
||||
typename = detail::disable_overload< std::allocator_arg_t, Fn >
|
||||
>
|
||||
#if BOOST_COMP_GNUC < 50000000
|
||||
fiber( Fn && fn, Arg && ... arg) :
|
||||
#else
|
||||
fiber( Fn && fn, Arg ... arg) :
|
||||
#endif
|
||||
fiber{ launch::post,
|
||||
std::allocator_arg, default_stack(),
|
||||
std::forward< Fn >( fn), std::forward< Arg >( arg) ... } {
|
||||
@@ -65,7 +72,11 @@ public:
|
||||
typename ... Arg,
|
||||
typename = detail::disable_overload< fiber, Fn >
|
||||
>
|
||||
#if BOOST_COMP_GNUC < 50000000
|
||||
fiber( launch policy, Fn && fn, Arg && ... arg) :
|
||||
#else
|
||||
fiber( launch policy, Fn && fn, Arg ... arg) :
|
||||
#endif
|
||||
fiber{ policy,
|
||||
std::allocator_arg, default_stack(),
|
||||
std::forward< Fn >( fn), std::forward< Arg >( arg) ... } {
|
||||
@@ -75,7 +86,11 @@ public:
|
||||
typename Fn,
|
||||
typename ... Arg
|
||||
>
|
||||
#if BOOST_COMP_GNUC < 50000000
|
||||
fiber( std::allocator_arg_t, StackAllocator salloc, Fn && fn, Arg && ... arg) :
|
||||
#else
|
||||
fiber( std::allocator_arg_t, StackAllocator salloc, Fn && fn, Arg ... arg) :
|
||||
#endif
|
||||
fiber{ launch::post,
|
||||
std::allocator_arg, salloc,
|
||||
std::forward< Fn >( fn), std::forward< Arg >( arg) ... } {
|
||||
@@ -85,7 +100,11 @@ public:
|
||||
typename Fn,
|
||||
typename ... Arg
|
||||
>
|
||||
#if BOOST_COMP_GNUC < 50000000
|
||||
fiber( launch policy, std::allocator_arg_t, StackAllocator salloc, Fn && fn, Arg && ... arg) :
|
||||
#else
|
||||
fiber( launch policy, std::allocator_arg_t, StackAllocator salloc, Fn && fn, Arg ... arg) :
|
||||
#endif
|
||||
impl_{ make_worker_context( policy, salloc, std::forward< Fn >( fn), std::forward< Arg >( arg) ... ) } {
|
||||
start_();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user