diff --git a/doc/html/boost_typetraits/reference/is_copy_constructible.html b/doc/html/boost_typetraits/reference/is_copy_constructible.html index bfccebd..0845fa7 100644 --- a/doc/html/boost_typetraits/reference/is_copy_constructible.html +++ b/doc/html/boost_typetraits/reference/is_copy_constructible.html @@ -51,9 +51,9 @@

If your compiler does not support C++11 deleted functions (= delete) - derive your classes from boost::noncopyable - or mark them with BOOST_MOVABLE_BUT_NOT_COPYABLE(T) - to show that class is noncopyable. + or does not support SFINAE for the deleted constructors, then derive your + classes from boost::noncopyable or mark them with BOOST_MOVABLE_BUT_NOT_COPYABLE(T) to show + that class is noncopyable.

Trait does not care about access modifiers, so if you see errors like this: diff --git a/doc/html/index.html b/doc/html/index.html index c2cb597..69c6a9d 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -217,7 +217,7 @@

- +

Last revised: March 02, 2013 at 12:30:44 +0400

Last revised: July 11, 2013 at 14:27:49 +0400


diff --git a/doc/html/index/s11.html b/doc/html/index/s11.html index 6387658..f3ceace 100644 --- a/doc/html/index/s11.html +++ b/doc/html/index/s11.html @@ -24,7 +24,7 @@

-Class Index

+Class Index

A C D E F H I M N O P R T

diff --git a/doc/html/index/s12.html b/doc/html/index/s12.html index 456451a..7696841 100644 --- a/doc/html/index/s12.html +++ b/doc/html/index/s12.html @@ -24,7 +24,7 @@

-Typedef Index

+Typedef Index

F R T

diff --git a/doc/html/index/s13.html b/doc/html/index/s13.html index 071dca6..1a02414 100644 --- a/doc/html/index/s13.html +++ b/doc/html/index/s13.html @@ -24,7 +24,7 @@

-Macro Index

+Macro Index

B

diff --git a/doc/html/index/s14.html b/doc/html/index/s14.html index 1a4b8fb..26f816b 100644 --- a/doc/html/index/s14.html +++ b/doc/html/index/s14.html @@ -23,7 +23,7 @@

-Index

+Index

A B C D E F H I M N O P R T U

diff --git a/doc/is_copy_constructible.qbk b/doc/is_copy_constructible.qbk index b45f174..0168f27 100644 --- a/doc/is_copy_constructible.qbk +++ b/doc/is_copy_constructible.qbk @@ -22,9 +22,9 @@ does not marked with `BOOST_MOVABLE_BUT_NOT_COPYABLE(T)`. __compat If the compiler does not support partial-specialization of class templates, then this template can not be used. -If your compiler does not support C++11 deleted functions (`= delete`) derive -your classes from `boost::noncopyable` or mark them with `BOOST_MOVABLE_BUT_NOT_COPYABLE(T)` -to show that class is noncopyable. +If your compiler does not support C++11 deleted functions (`= delete`) or does not support +SFINAE for the deleted constructors, then derive your classes from `boost::noncopyable` or +mark them with `BOOST_MOVABLE_BUT_NOT_COPYABLE(T)` to show that class is noncopyable. Trait does not care about access modifiers, so if you see errors like this: diff --git a/include/boost/type_traits/is_copy_constructible.hpp b/include/boost/type_traits/is_copy_constructible.hpp index 0a9db9a..e90ecb7 100644 --- a/include/boost/type_traits/is_copy_constructible.hpp +++ b/include/boost/type_traits/is_copy_constructible.hpp @@ -26,7 +26,13 @@ namespace detail{ template struct is_copy_constructible_impl2 { -#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS + +// Intel compiler has problems with SFINAE for copy constructors and deleted functions: +// +// error: function *function_name* cannot be referenced -- it is a deleted function +// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval()))* = 0); +// ^ +#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_INTEL_CXX_VERSION) #ifdef BOOST_NO_CXX11_DECLTYPE template