diff --git a/include/boost/smart_ptr/allocate_shared_array.hpp b/include/boost/smart_ptr/allocate_shared_array.hpp index 7b32dd5..5d3f8cb 100644 --- a/include/boost/smart_ptr/allocate_shared_array.hpp +++ b/include/boost/smart_ptr/allocate_shared_array.hpp @@ -19,7 +19,7 @@ namespace boost { template inline typename detail::sp_if_array::type allocate_shared(const A& allocator, size_t size) { - typedef typename remove_cv::element_type>::type T1; + typedef typename remove_cv::element_type>::type T1; T1* p1 = 0; detail::allocate_array_helper a1(allocator, size, &p1); detail::array_deleter d1; @@ -33,7 +33,7 @@ namespace boost { template inline typename detail::sp_if_array::type allocate_shared(const A& allocator, size_t size, Args&&... args) { - typedef typename remove_cv::element_type>::type T1; + typedef typename remove_cv::element_type>::type T1; T1* p1 = 0; detail::allocate_array_helper a1(allocator, size, &p1); detail::array_deleter d1; diff --git a/include/boost/smart_ptr/detail/allocate_array_helper.hpp b/include/boost/smart_ptr/detail/allocate_array_helper.hpp index deddf04..3314e6c 100644 --- a/include/boost/smart_ptr/detail/allocate_array_helper.hpp +++ b/include/boost/smart_ptr/detail/allocate_array_helper.hpp @@ -16,10 +16,10 @@ namespace boost { namespace detail { template class allocate_array_helper { - template + template friend class allocate_array_helper; - typedef typename A::rebind ::other A2; - typedef typename A::rebind::other A3; + typedef typename A::template rebind ::other A2; + typedef typename A::template rebind::other A3; public: typedef typename A2::value_type value_type; typedef typename A2::pointer pointer; diff --git a/include/boost/smart_ptr/detail/make_array_helper.hpp b/include/boost/smart_ptr/detail/make_array_helper.hpp index db77aea..34cc2e7 100644 --- a/include/boost/smart_ptr/detail/make_array_helper.hpp +++ b/include/boost/smart_ptr/detail/make_array_helper.hpp @@ -16,16 +16,16 @@ namespace boost { namespace detail { template class make_array_helper { - template + template friend class make_array_helper; public: - typedef typename Y value_type; - typedef typename Y* pointer; - typedef typename const Y* const_pointer; - typedef typename Y& reference; - typedef typename const Y& const_reference; - typedef typename std::size_t size_type; - typedef typename ptrdiff_t difference_type; + typedef Y value_type; + typedef Y* pointer; + typedef const Y* const_pointer; + typedef Y& reference; + typedef const Y& const_reference; + typedef std::size_t size_type; + typedef ptrdiff_t difference_type; template struct rebind { typedef make_array_helper other; diff --git a/include/boost/smart_ptr/make_shared_array.hpp b/include/boost/smart_ptr/make_shared_array.hpp index 1550178..b757fb7 100644 --- a/include/boost/smart_ptr/make_shared_array.hpp +++ b/include/boost/smart_ptr/make_shared_array.hpp @@ -19,7 +19,7 @@ namespace boost { template inline typename detail::sp_if_array::type make_shared(std::size_t size) { - typedef typename remove_cv::element_type>::type T1; + typedef typename remove_cv::element_type>::type T1; T1* p1 = 0; detail::make_array_helper a1(size, &p1); detail::array_deleter d1; @@ -33,7 +33,7 @@ namespace boost { template inline typename detail::sp_if_array::type make_shared(std::size_t size, Args&&... args) { - typedef typename remove_cv::element_type>::type T1; + typedef typename remove_cv::element_type>::type T1; T1* p1 = 0; detail::make_array_helper a1(size, &p1); detail::array_deleter d1; @@ -47,7 +47,7 @@ namespace boost { template inline typename detail::sp_if_array::type make_shared_noinit(std::size_t size) { - typedef typename remove_cv::element_type>::type T1; + typedef typename remove_cv::element_type>::type T1; T1* p1 = 0; detail::make_array_helper a1(size, &p1); detail::array_deleter d1;