From ac718c54ed6cf8e605cca52f8890af86ccc92a19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Thu, 8 Jun 2017 21:51:53 +0200 Subject: [PATCH] Fix call to intrinsic is_convertible with incomplete types in MSVC 14.1 --- include/boost/intrusive/detail/iterator.hpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/boost/intrusive/detail/iterator.hpp b/include/boost/intrusive/detail/iterator.hpp index 74f08cc..c25be43 100644 --- a/include/boost/intrusive/detail/iterator.hpp +++ b/include/boost/intrusive/detail/iterator.hpp @@ -114,11 +114,11 @@ struct iterator_disable_if_tag template struct iterator_enable_if_convertible_tag : ::boost::move_detail::enable_if_c - < ::boost::move_detail::is_convertible + < ::boost::move_detail::is_same_or_convertible < typename boost::intrusive::iterator_traits::iterator_category , Tag >::value && - !::boost::move_detail::is_convertible + !::boost::move_detail::is_same_or_convertible < typename boost::intrusive::iterator_traits::iterator_category , Tag2 >::value @@ -177,7 +177,7 @@ BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_tag BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag - ::type + ::type iterator_advance(InputIt& it, Distance n) { while(n--) @@ -186,7 +186,7 @@ BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag template BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag - ::type + ::type iterator_advance(InputIt& it, Distance n) { while(n--) @@ -195,7 +195,7 @@ BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag template BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag - ::type + ::type iterator_advance(InputIt& it, Distance n) { while(n--) @@ -204,7 +204,7 @@ BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag template BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag - ::type + ::type iterator_advance(InputIt& it, Distance n) { for (; 0 < n; --n) @@ -217,7 +217,7 @@ class fake{}; template BOOST_INTRUSIVE_FORCEINLINE typename iterator_enable_if_convertible_tag - ::type + ::type iterator_advance(InputIt& it, Distance n) { it += n;