1
0
forked from boostorg/core

Qualify pointer_traits in detail namespace

This commit is contained in:
Glen Fernandes
2017-05-17 22:12:05 -04:00
parent 335aa4f396
commit 6fd649d7fd

View File

@ -25,10 +25,10 @@ struct pointer_traits;
namespace detail { namespace detail {
template<class U> template<class U>
static typename pointer_traits<U>::element_type* static typename boost::pointer_traits<U>::element_type*
ptr_traits_address(U v) BOOST_NOEXCEPT ptr_traits_address(U v) BOOST_NOEXCEPT
{ {
return pointer_traits<U>::to_address(v); return boost::pointer_traits<U>::to_address(v);
} }
} /* detail */ } /* detail */
@ -62,7 +62,7 @@ struct pointer_traits<T*>
#else #else
namespace detail { namespace detail {
struct ptr_traits_none { char first; char second; }; struct ptr_traits_none { char first, second; };
template<class T> template<class T>
struct ptr_traits_has_element { struct ptr_traits_has_element {
@ -101,10 +101,7 @@ struct ptr_traits_first<T<U1, U2, U3> > {
#endif #endif
template<class T, bool = ptr_traits_has_element<T>::value> template<class T, bool = ptr_traits_has_element<T>::value>
struct ptr_traits_element; struct ptr_traits_element {
template<class T>
struct ptr_traits_element<T, true> {
typedef typename T::element_type type; typedef typename T::element_type type;
}; };
@ -125,10 +122,7 @@ public:
}; };
template<class T, bool = ptr_traits_has_difference<T>::value> template<class T, bool = ptr_traits_has_difference<T>::value>
struct ptr_traits_difference; struct ptr_traits_difference {
template<class T>
struct ptr_traits_difference<T, true> {
typedef typename T::difference_type type; typedef typename T::difference_type type;
}; };
@ -176,10 +170,7 @@ struct ptr_traits_rebind_to<T<U1, U2, U3>, V> {
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template<class T, class U, bool = ptr_traits_has_rebind<T>::value> template<class T, class U, bool = ptr_traits_has_rebind<T>::value>
struct ptr_traits_rebind; struct ptr_traits_rebind {
template<class T, class U>
struct ptr_traits_rebind<T, U, true> {
typedef typename T::template rebind<U> type; typedef typename T::template rebind<U> type;
}; };