From dc25edb4ddfb997cbd7ed2318813de7bdae2ea85 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Tue, 3 Feb 2015 13:00:37 +0300 Subject: [PATCH] Fixed type deduction on old compilers --- include/boost/polymorphic_pointer_cast.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/boost/polymorphic_pointer_cast.hpp b/include/boost/polymorphic_pointer_cast.hpp index 4d9b46c..ae218d2 100644 --- a/include/boost/polymorphic_pointer_cast.hpp +++ b/include/boost/polymorphic_pointer_cast.hpp @@ -42,19 +42,19 @@ namespace boost namespace detail { template - struct static_pointer_cast_result + struct dynamic_pointer_cast_result { #ifdef BOOST_NO_CXX11_DECLTYPE - BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, static_pointer_cast(boost::declval())) + BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, dynamic_pointer_cast(boost::declval())) typedef typename nested::type type; #else - typedef decltype(static_pointer_cast(boost::declval())) type; + typedef decltype(dynamic_pointer_cast(boost::declval())) type; #endif }; } template - inline typename detail::static_pointer_cast_result::type + inline typename detail::dynamic_pointer_cast_result::type polymorphic_pointer_downcast (const Source& x) { BOOST_ASSERT(dynamic_pointer_cast (x) == x); @@ -62,10 +62,10 @@ namespace boost } template - inline typename detail::static_pointer_cast_result::type + inline typename detail::dynamic_pointer_cast_result::type polymorphic_pointer_cast (const Source& x) { - typename detail::static_pointer_cast_result::type tmp + typename detail::dynamic_pointer_cast_result::type tmp = dynamic_pointer_cast (x); if ( !tmp ) boost::throw_exception( std::bad_cast() );