update boost on linux

This commit is contained in:
Bassem Girgis
2019-08-10 16:06:25 -05:00
parent 76ad52be58
commit 861b918727
5363 changed files with 483306 additions and 116507 deletions

View File

@@ -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>
@@ -52,41 +53,59 @@ public:
fiber() = default;
template< typename Fn,
typename ... Args,
typename = detail::disable_overload< fiber, Fn >
typename ... Arg,
typename = detail::disable_overload< fiber, Fn >,
typename = detail::disable_overload< launch, Fn >,
typename = detail::disable_overload< std::allocator_arg_t, Fn >
>
fiber( Fn && fn, Args && ... args) :
#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< Args >( args) ... } {
std::forward< Fn >( fn), std::forward< Arg >( arg) ... } {
}
template< typename Fn,
typename ... Args,
typename ... Arg,
typename = detail::disable_overload< fiber, Fn >
>
fiber( launch policy, Fn && fn, Args && ... args) :
#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< Args >( args) ... } {
std::forward< Fn >( fn), std::forward< Arg >( arg) ... } {
}
template< typename StackAllocator,
typename Fn,
typename ... Args
typename ... Arg
>
fiber( std::allocator_arg_t, StackAllocator salloc, Fn && fn, Args && ... args) :
#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< Args >( args) ... } {
std::allocator_arg, std::forward< StackAllocator >( salloc),
std::forward< Fn >( fn), std::forward< Arg >( arg) ... } {
}
template< typename StackAllocator,
typename Fn,
typename ... Args
typename ... Arg
>
fiber( launch policy, std::allocator_arg_t, StackAllocator salloc, Fn && fn, Args && ... args) :
impl_{ make_worker_context( policy, salloc, std::forward< Fn >( fn), std::forward< Args >( args) ... ) } {
#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, std::forward< StackAllocator >( salloc), std::forward< Fn >( fn), std::forward< Arg >( arg) ... ) } {
start_();
}
@@ -101,14 +120,14 @@ public:
fiber( fiber && other) noexcept :
impl_{} {
impl_.swap( other.impl_);
swap( other);
}
fiber & operator=( fiber && other) noexcept {
if ( joinable() ) {
std::terminate();
}
if ( this == & other) {
if ( BOOST_UNLIKELY( this == & other) ) {
return * this;
}
impl_.swap( other.impl_);