diff --git a/include/boost/functional/hash/detail/float_functions.hpp b/include/boost/functional/hash/detail/float_functions.hpp index 7ab7079..6f21169 100644 --- a/include/boost/functional/hash/detail/float_functions.hpp +++ b/include/boost/functional/hash/detail/float_functions.hpp @@ -153,12 +153,26 @@ namespace boost { // Is there is, this is a function object that will call that overload template - struct call_ldexp : select_impl - :: BOOST_NESTED_TEMPLATE x::type - :: BOOST_NESTED_TEMPLATE x::type - :: BOOST_NESTED_TEMPLATE x::type + struct call_ldexp; + + template <> + struct call_ldexp : select_impl + :: x::type + :: x::type :: type {}; + template <> + struct call_ldexp : select_impl + :: x::type + :: type {}; + + template <> + struct call_ldexp : select_impl + :: x::type + :: x::type + :: type {}; + + // call_frexp // // call_frexp::value = Is there an appropriate version of call_frexp @@ -166,10 +180,23 @@ namespace boost { // Is there is, this is a function object that will call that overload template - struct call_frexp : select_impl - :: BOOST_NESTED_TEMPLATE x::type - :: BOOST_NESTED_TEMPLATE x::type - :: BOOST_NESTED_TEMPLATE x::type + struct call_frexp; + + template <> + struct call_frexp : select_impl + :: x::type + :: x::type + :: type {}; + + template <> + struct call_frexp : select_impl + :: x::type + :: type {}; + + template <> + struct call_frexp : select_impl + :: x::type + :: x::type :: type {}; // has_float_functions