Unordered: Avoid passing UDTs through ....

[SVN r74913]
This commit is contained in:
Daniel James
2011-10-11 08:36:23 +00:00
parent b56a5ead66
commit 4471e056f4
2 changed files with 3 additions and 2 deletions

View File

@ -104,7 +104,8 @@ namespace boost { namespace unordered { namespace detail {
yes_type is_private_type(private_type const&);
struct convert_from_anything {
convert_from_anything(...);
template <typename T>
convert_from_anything(T const&);
};
#if !defined(BOOST_NO_SFINAE_EXPR) || BOOST_WORKAROUND(BOOST_MSVC, >= 1500)

View File

@ -225,7 +225,7 @@ BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, std::tr1)
struct emulation1 {
static choice1::type test(choice1, std::pair<A, B> const&);
static choice2::type test(choice2, A const&);
static choice3::type test(choice3, ...);
static choice3::type test(choice3, convert_from_anything const&);
enum { value =
sizeof(test(choose(), boost::unordered::detail::make<A0>())) ==