Browse Source

Update contrib/restricted/boost/intrusive to 1.86.0
515f0478e9457449f41a3a8173d3dd8e5df2de0f

robot-contrib 6 months ago
parent
commit
0a208ee4c0

+ 8 - 8
contrib/restricted/boost/intrusive/include/boost/intrusive/detail/algorithm.hpp

@@ -26,15 +26,15 @@ namespace intrusive {
 
 
 struct algo_pred_equal
 struct algo_pred_equal
 {
 {
-   template<class T>
-   bool operator()(const T &x, const T &y) const
+   template<class T, class T2>
+   bool operator()(const T &x, const T2 &y) const
    {  return x == y;  }
    {  return x == y;  }
 };
 };
 
 
 struct algo_pred_less
 struct algo_pred_less
 {
 {
-   template<class T>
-   bool operator()(const T &x, const T &y) const
+   template<class T, class T2>
+   bool operator()(const T &x, const T2 &y) const
    {  return x < y;  }
    {  return x < y;  }
 };
 };
 
 
@@ -49,10 +49,6 @@ bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, BinaryPredicat
     return true;
     return true;
 }
 }
 
 
-template<class InputIt1, class InputIt2>
-bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2)
-{  return (algo_equal)(first1, last1, first2, algo_pred_equal());  }
-
 template<class InputIt1, class InputIt2, class BinaryPredicate>
 template<class InputIt1, class InputIt2, class BinaryPredicate>
 bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, BinaryPredicate pred)
 bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, BinaryPredicate pred)
 {
 {
@@ -62,6 +58,10 @@ bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2
     return first1 == last1 && first2 == last2;
     return first1 == last1 && first2 == last2;
 }
 }
 
 
+template<class InputIt1, class InputIt2>
+bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2)
+{  return (algo_equal)(first1, last1, first2, algo_pred_equal());  }
+
 template<class InputIt1, class InputIt2>
 template<class InputIt1, class InputIt2>
 bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2)
 bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2)
 {  return (algo_equal)(first1, last1, first2, last2, algo_pred_equal());  }
 {  return (algo_equal)(first1, last1, first2, last2, algo_pred_equal());  }

+ 8 - 6
contrib/restricted/boost/intrusive/include/boost/intrusive/detail/hook_traits.hpp

@@ -46,6 +46,10 @@ struct bhtraits_base
       template rebind_pointer<T>::type                               pointer;
       template rebind_pointer<T>::type                               pointer;
    typedef typename pointer_traits<node_ptr>::
    typedef typename pointer_traits<node_ptr>::
       template rebind_pointer<const T>::type                         const_pointer;
       template rebind_pointer<const T>::type                         const_pointer;
+   typedef typename pointer_traits<node_ptr>::
+      template rebind_pointer<node_holder_type>::type                node_holder_ptr;
+   typedef typename pointer_traits<node_ptr>::
+      template rebind_pointer<const node_holder_type>::type          const_node_holder_ptr;
    typedef T &                                                       reference;
    typedef T &                                                       reference;
    typedef const T &                                                 const_reference;
    typedef const T &                                                 const_reference;
    typedef node_holder_type &                                        node_holder_reference;
    typedef node_holder_type &                                        node_holder_reference;
@@ -55,16 +59,14 @@ struct bhtraits_base
 
 
    inline static pointer to_value_ptr(node_ptr n)
    inline static pointer to_value_ptr(node_ptr n)
    {
    {
-      pointer p = pointer_traits<pointer>::pointer_to
-         (static_cast<reference>(static_cast<node_holder_reference>(*n)));
-      return p;
+      return pointer_traits<pointer>::
+         static_cast_from(pointer_traits<node_holder_ptr>::static_cast_from(n));
    }
    }
 
 
    inline static const_pointer to_value_ptr(const_node_ptr n)
    inline static const_pointer to_value_ptr(const_node_ptr n)
    {
    {
-      const_pointer p = pointer_traits<const_pointer>::pointer_to
-         (static_cast<const_reference>(static_cast<const_node_holder_reference>(*n)));
-      return p;
+      return pointer_traits<const_pointer>::
+         static_cast_from(pointer_traits<const_node_holder_ptr>::static_cast_from(n));
    }
    }
 
 
    inline static node_ptr to_node_ptr(reference value)
    inline static node_ptr to_node_ptr(reference value)

+ 18 - 18
contrib/restricted/boost/intrusive/include/boost/intrusive/pointer_traits.hpp

@@ -130,7 +130,7 @@ struct pointer_traits
    //!
    //!
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //!   <code>pointer_to</code> is checked.
    //!   <code>pointer_to</code> is checked.
-   inline static pointer pointer_to(reference r) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer pointer_to(reference r) BOOST_NOEXCEPT
    {
    {
       //Non-standard extension, it does not require Ptr::pointer_to. If not present
       //Non-standard extension, it does not require Ptr::pointer_to. If not present
       //tries to converts &r to pointer.
       //tries to converts &r to pointer.
@@ -150,7 +150,7 @@ struct pointer_traits
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //!   <code>static_cast_from</code> is checked.
    //!   <code>static_cast_from</code> is checked.
    template<class UPtr>
    template<class UPtr>
-   inline static pointer static_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer static_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
    {
    {
       typedef const UPtr &RefArg;
       typedef const UPtr &RefArg;
       const bool value = boost::intrusive::detail::
       const bool value = boost::intrusive::detail::
@@ -171,7 +171,7 @@ struct pointer_traits
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //!   <code>const_cast_from</code> is checked.
    //!   <code>const_cast_from</code> is checked.
    template<class UPtr>
    template<class UPtr>
-   inline static pointer const_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer const_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
    {
    {
       typedef const UPtr &RefArg;
       typedef const UPtr &RefArg;
       const bool value = boost::intrusive::detail::
       const bool value = boost::intrusive::detail::
@@ -192,7 +192,7 @@ struct pointer_traits
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //! <b>Note</b>: For non-conforming compilers only the existence of a member function called
    //!   <code>dynamic_cast_from</code> is checked.
    //!   <code>dynamic_cast_from</code> is checked.
    template<class UPtr>
    template<class UPtr>
-   inline static pointer dynamic_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer dynamic_cast_from(const UPtr &uptr) BOOST_NOEXCEPT
    {
    {
       typedef const UPtr &RefArg;
       typedef const UPtr &RefArg;
       const bool value = boost::intrusive::detail::
       const bool value = boost::intrusive::detail::
@@ -208,46 +208,46 @@ struct pointer_traits
    private:
    private:
    //priv_to_raw_pointer
    //priv_to_raw_pointer
    template <class T>
    template <class T>
-   inline static T* to_raw_pointer(T* p) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static T* to_raw_pointer(T* p) BOOST_NOEXCEPT
    {  return p; }
    {  return p; }
 
 
    template <class Pointer>
    template <class Pointer>
-   inline static typename pointer_traits<Pointer>::element_type*
+   BOOST_INTRUSIVE_FORCEINLINE static typename pointer_traits<Pointer>::element_type*
       to_raw_pointer(const Pointer &p) BOOST_NOEXCEPT
       to_raw_pointer(const Pointer &p) BOOST_NOEXCEPT
    {  return pointer_traits::to_raw_pointer(p.operator->());  }
    {  return pointer_traits::to_raw_pointer(p.operator->());  }
 
 
    //priv_pointer_to
    //priv_pointer_to
-   inline static pointer priv_pointer_to(boost::intrusive::detail::true_, reference r) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_pointer_to(boost::intrusive::detail::true_, reference r) BOOST_NOEXCEPT
    { return Ptr::pointer_to(r); }
    { return Ptr::pointer_to(r); }
 
 
-   inline static pointer priv_pointer_to(boost::intrusive::detail::false_, reference r) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_pointer_to(boost::intrusive::detail::false_, reference r) BOOST_NOEXCEPT
    { return pointer(boost::intrusive::detail::addressof(r)); }
    { return pointer(boost::intrusive::detail::addressof(r)); }
 
 
    //priv_static_cast_from
    //priv_static_cast_from
    template<class UPtr>
    template<class UPtr>
-   inline static pointer priv_static_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_static_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
    { return Ptr::static_cast_from(uptr); }
    { return Ptr::static_cast_from(uptr); }
 
 
    template<class UPtr>
    template<class UPtr>
-   inline static pointer priv_static_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_static_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
    {  return uptr ? pointer_to(*static_cast<element_type*>(to_raw_pointer(uptr))) : pointer();  }
    {  return uptr ? pointer_to(*static_cast<element_type*>(to_raw_pointer(uptr))) : pointer();  }
 
 
    //priv_const_cast_from
    //priv_const_cast_from
    template<class UPtr>
    template<class UPtr>
-   inline static pointer priv_const_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_const_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
    { return Ptr::const_cast_from(uptr); }
    { return Ptr::const_cast_from(uptr); }
 
 
    template<class UPtr>
    template<class UPtr>
-   inline static pointer priv_const_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_const_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
    {  return uptr ? pointer_to(const_cast<element_type&>(*uptr)) : pointer();  }
    {  return uptr ? pointer_to(const_cast<element_type&>(*uptr)) : pointer();  }
 
 
    //priv_dynamic_cast_from
    //priv_dynamic_cast_from
    template<class UPtr>
    template<class UPtr>
-   inline static pointer priv_dynamic_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_dynamic_cast_from(boost::intrusive::detail::true_, const UPtr &uptr) BOOST_NOEXCEPT
    { return Ptr::dynamic_cast_from(uptr); }
    { return Ptr::dynamic_cast_from(uptr); }
 
 
    template<class UPtr>
    template<class UPtr>
-   inline static pointer priv_dynamic_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer priv_dynamic_cast_from(boost::intrusive::detail::false_, const UPtr &uptr) BOOST_NOEXCEPT
    {  return uptr ? pointer_to(dynamic_cast<element_type&>(*uptr)) : pointer();  }
    {  return uptr ? pointer_to(dynamic_cast<element_type&>(*uptr)) : pointer();  }
    ///@endcond
    ///@endcond
 };
 };
@@ -296,25 +296,25 @@ struct pointer_traits<T*>
 
 
    //! <b>Returns</b>: addressof(r)
    //! <b>Returns</b>: addressof(r)
    //!
    //!
-   inline static pointer pointer_to(reference r) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer pointer_to(reference r) BOOST_NOEXCEPT
    { return boost::intrusive::detail::addressof(r); }
    { return boost::intrusive::detail::addressof(r); }
 
 
    //! <b>Returns</b>: static_cast<pointer>(uptr)
    //! <b>Returns</b>: static_cast<pointer>(uptr)
    //!
    //!
    template<class U>
    template<class U>
-   inline static pointer static_cast_from(U *uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer static_cast_from(U *uptr) BOOST_NOEXCEPT
    {  return static_cast<pointer>(uptr);  }
    {  return static_cast<pointer>(uptr);  }
 
 
    //! <b>Returns</b>: const_cast<pointer>(uptr)
    //! <b>Returns</b>: const_cast<pointer>(uptr)
    //!
    //!
    template<class U>
    template<class U>
-   inline static pointer const_cast_from(U *uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer const_cast_from(U *uptr) BOOST_NOEXCEPT
    {  return const_cast<pointer>(uptr);  }
    {  return const_cast<pointer>(uptr);  }
 
 
    //! <b>Returns</b>: dynamic_cast<pointer>(uptr)
    //! <b>Returns</b>: dynamic_cast<pointer>(uptr)
    //!
    //!
    template<class U>
    template<class U>
-   inline static pointer dynamic_cast_from(U *uptr) BOOST_NOEXCEPT
+   BOOST_INTRUSIVE_FORCEINLINE static pointer dynamic_cast_from(U *uptr) BOOST_NOEXCEPT
    {  return dynamic_cast<pointer>(uptr);  }
    {  return dynamic_cast<pointer>(uptr);  }
 };
 };
 
 

+ 2 - 2
contrib/restricted/boost/intrusive/ya.make

@@ -9,9 +9,9 @@ LICENSE(
 
 
 LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
 LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
 
 
-VERSION(1.85.0)
+VERSION(1.86.0)
 
 
-ORIGINAL_SOURCE(https://github.com/boostorg/intrusive/archive/boost-1.85.0.tar.gz)
+ORIGINAL_SOURCE(https://github.com/boostorg/intrusive/archive/boost-1.86.0.tar.gz)
 
 
 PEERDIR(
 PEERDIR(
     contrib/restricted/boost/assert
     contrib/restricted/boost/assert