Made the workaround for Oracle compiler more strict.

This commit is contained in:
Andrey Semashev
2016-07-12 13:52:05 +03:00
parent b0b16d6ddb
commit 2128428ca1

View File

@ -25,8 +25,8 @@ using std::distance;
#if defined(__SUNPRO_CC) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
// std::distance from stlport with Oracle compiler 12.4 and 12.5 fails to deduce template parameters
// when one of the arguments is an array and the other one is a pointer.
template< typename T, std::size_t N, typename U >
inline typename std::iterator_traits< T* >::difference_type distance(T (&left)[N], U* right)
template< typename T, std::size_t N >
inline typename std::iterator_traits< T* >::difference_type distance(T (&left)[N], T* right)
{
return std::distance(static_cast< T* >(left), right);
}