diff options
| author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) | 
| commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
| tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/thread/detail/move.hpp | |
| parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
| download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 | |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/thread/detail/move.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/thread/detail/move.hpp | 106 | 
1 files changed, 87 insertions, 19 deletions
| diff --git a/3rdParty/Boost/src/boost/thread/detail/move.hpp b/3rdParty/Boost/src/boost/thread/detail/move.hpp index f2665e6..c3339ef 100644 --- a/3rdParty/Boost/src/boost/thread/detail/move.hpp +++ b/3rdParty/Boost/src/boost/thread/detail/move.hpp @@ -10,15 +10,25 @@  #include <boost/thread/detail/config.hpp>  #ifndef BOOST_NO_SFINAE -#include <boost/utility/enable_if.hpp> +#include <boost/core/enable_if.hpp>  #include <boost/type_traits/is_convertible.hpp>  #include <boost/type_traits/remove_reference.hpp>  #include <boost/type_traits/remove_cv.hpp>  #include <boost/type_traits/decay.hpp> +#include <boost/type_traits/conditional.hpp> +#include <boost/type_traits/remove_extent.hpp> +#include <boost/type_traits/is_array.hpp> +#include <boost/type_traits/is_function.hpp> +#include <boost/type_traits/remove_cv.hpp> +#include <boost/type_traits/add_pointer.hpp> +#include <boost/type_traits/decay.hpp>  #endif  #include <boost/thread/detail/delete.hpp> -#include <boost/move/move.hpp> +#include <boost/move/utility.hpp> +#include <boost/move/traits.hpp>  #include <boost/config/abi_prefix.hpp> - +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +#include <type_traits> +#endif  namespace boost  { @@ -27,5 +37,5 @@ namespace boost      {        template <typename T> -      struct has_move_emulation_enabled_aux_dummy_specialization; +      struct enable_move_utility_emulation_dummy_specialization;          template<typename T>          struct thread_move_t @@ -50,4 +60,5 @@ namespace boost      } +#if !defined BOOST_THREAD_USES_MOVE  #ifndef BOOST_NO_SFINAE @@ -64,4 +75,6 @@ namespace boost          return t;      } + +#endif   //#if !defined BOOST_THREAD_USES_MOVE  } @@ -69,4 +82,5 @@ namespace boost  #define BOOST_THREAD_RV_REF(TYPE) BOOST_RV_REF(TYPE) +#define BOOST_THREAD_RV_REF_2_TEMPL_ARGS(TYPE) BOOST_RV_REF_2_TEMPL_ARGS(TYPE)  #define BOOST_THREAD_RV_REF_BEG BOOST_RV_REF_BEG  #define BOOST_THREAD_RV_REF_END BOOST_RV_REF_END @@ -78,8 +92,8 @@ namespace boost    namespace detail { \      template <typename T> \ -    struct has_move_emulation_enabled_aux_dummy_specialization< +    struct enable_move_utility_emulation_dummy_specialization<  #define BOOST_THREAD_DCL_MOVABLE_END > \ -      : integral_constant<bool, true> \ +      : integral_constant<bool, false> \        {}; \      } @@ -88,4 +102,5 @@ namespace boost  #define BOOST_THREAD_RV_REF(TYPE) BOOST_RV_REF(TYPE) +#define BOOST_THREAD_RV_REF_2_TEMPL_ARGS(TYPE) BOOST_RV_REF_2_TEMPL_ARGS(TYPE)  #define BOOST_THREAD_RV_REF_BEG BOOST_RV_REF_BEG  #define BOOST_THREAD_RV_REF_END BOOST_RV_REF_END @@ -97,8 +112,8 @@ namespace boost    namespace detail { \      template <typename T> \ -    struct has_move_emulation_enabled_aux_dummy_specialization< +    struct enable_move_utility_emulation_dummy_specialization<  #define BOOST_THREAD_DCL_MOVABLE_END > \ -      : integral_constant<bool, true> \ +      : integral_constant<bool, false> \        {}; \      } @@ -108,4 +123,5 @@ namespace boost  #if defined BOOST_THREAD_USES_MOVE  #define BOOST_THREAD_RV_REF(TYPE) BOOST_RV_REF(TYPE) +#define BOOST_THREAD_RV_REF_2_TEMPL_ARGS(TYPE) BOOST_RV_REF_2_TEMPL_ARGS(TYPE)  #define BOOST_THREAD_RV_REF_BEG BOOST_RV_REF_BEG  #define BOOST_THREAD_RV_REF_END BOOST_RV_REF_END @@ -116,8 +132,8 @@ namespace boost    namespace detail { \      template <typename T> \ -    struct has_move_emulation_enabled_aux_dummy_specialization< +    struct enable_move_utility_emulation_dummy_specialization<  #define BOOST_THREAD_DCL_MOVABLE_END > \ -      : integral_constant<bool, true> \ +      : integral_constant<bool, false> \        {}; \      } @@ -133,15 +149,17 @@ namespace boost  #define BOOST_THREAD_DCL_MOVABLE(TYPE) \  template <> \ -struct has_move_emulation_enabled_aux< TYPE > \ -  : BOOST_MOVE_BOOST_NS::integral_constant<bool, true> \ -{}; +struct enable_move_utility_emulation< TYPE > \ +{ \ +   static const bool value = false; \ +};  #define BOOST_THREAD_DCL_MOVABLE_BEG(T) \  template <typename T> \ -struct has_move_emulation_enabled_aux< +struct enable_move_utility_emulation<  #define BOOST_THREAD_DCL_MOVABLE_END > \ -  : BOOST_MOVE_BOOST_NS::integral_constant<bool, true> \ -{}; +{ \ +   static const bool value = false; \ +};  #endif @@ -228,8 +246,51 @@ namespace detail -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES  namespace boost -{  namespace thread_detail +{ +  namespace thread_detail +  { +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +    template <class Tp> +    struct remove_reference : boost::remove_reference<Tp> {}; +    template <class Tp> +    struct  decay : boost::decay<Tp> {}; +#else +  template <class Tp> +  struct remove_reference    { +    typedef Tp type; +  }; +  template <class Tp> +  struct remove_reference<Tp&> +  { +    typedef Tp type; +  }; +  template <class Tp> +  struct remove_reference< rv<Tp> > { +    typedef Tp type; +  }; + +  template <class Tp> +  struct  decay +  { +  private: +    typedef typename boost::move_detail::remove_rvalue_reference<Tp>::type Up0; +    typedef typename boost::remove_reference<Up0>::type Up; +  public: +      typedef typename conditional +                       < +                           is_array<Up>::value, +                           typename remove_extent<Up>::type*, +                           typename conditional +                           < +                                is_function<Up>::value, +                                typename add_pointer<Up>::type, +                                typename remove_cv<Up>::type +                           >::type +                       >::type type; +  }; +#endif + +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES        template <class T>        typename decay<T>::type @@ -238,7 +299,14 @@ namespace boost            return boost::forward<T>(t);        } +#else +  template <class T> +  typename decay<T>::type +  decay_copy(BOOST_THREAD_FWD_REF(T) t) +  { +      return boost::forward<T>(t);    } -}  #endif +  } +}  #include <boost/config/abi_suffix.hpp> | 
 Swift
 Swift