forked from boostorg/unordered
Unordered: Don't use SFINAE expression hack on Visual C++.
Sometimes it doesn't work. This means I can clean up the implementation for other compilers, but I'll leave that for now. [SVN r75167]
This commit is contained in:
@ -36,9 +36,7 @@ A full implementation of `allocator_traits` requires sophisticated
|
|||||||
member function detection so that the fallback is used whenever the
|
member function detection so that the fallback is used whenever the
|
||||||
member function call is not well formed.
|
member function call is not well formed.
|
||||||
This requires support for SFINAE expressions, which are available on
|
This requires support for SFINAE expressions, which are available on
|
||||||
GCC from version 4.4 and Clang. They aren't supported by
|
GCC from version 4.4 and Clang.
|
||||||
Visual C++ 2008/2010, but with a bit of hacking it's possible to support
|
|
||||||
certain use cases.
|
|
||||||
|
|
||||||
On other compilers, there's just a test to see if the allocator has
|
On other compilers, there's just a test to see if the allocator has
|
||||||
a member, but no check that it can be called. So rather than using a
|
a member, but no check that it can be called. So rather than using a
|
||||||
|
@ -108,7 +108,7 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
convert_from_anything(T const&);
|
convert_from_anything(T const&);
|
||||||
};
|
};
|
||||||
|
|
||||||
#if !defined(BOOST_NO_SFINAE_EXPR) || BOOST_WORKAROUND(BOOST_MSVC, >= 1500)
|
#if !defined(BOOST_NO_SFINAE_EXPR)
|
||||||
|
|
||||||
# define BOOST_UNORDERED_HAVE_CALL_DETECTION 1
|
# define BOOST_UNORDERED_HAVE_CALL_DETECTION 1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user