mirror of
https://github.com/boostorg/intrusive.git
synced 2025-08-03 14:34:44 +02:00
Ticket #7033: SolarisStudio 12.3 bug: doesn't like intrusive::detail::type_has_rebind::test() declarations
[SVN r79437]
This commit is contained in:
@@ -182,7 +182,11 @@ template <typename Ptr, typename T>
|
||||
struct type_has_rebind
|
||||
{
|
||||
template <typename X>
|
||||
#if !defined (__SUNPRO_CC)
|
||||
static char test(int, typename X::template rebind<T>*);
|
||||
#else
|
||||
static char test(int, typename X::rebind<T>*);
|
||||
#endif
|
||||
|
||||
template <typename X>
|
||||
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
||||
@@ -194,7 +198,11 @@ template <typename Ptr, typename T>
|
||||
struct type_has_rebind_other
|
||||
{
|
||||
template <typename X>
|
||||
#if !defined (__SUNPRO_CC)
|
||||
static char test(int, typename X::template rebind<T>::other*);
|
||||
#else
|
||||
static char test(int, typename X::rebind<T>::other*);
|
||||
#endif
|
||||
|
||||
template <typename X>
|
||||
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
||||
@@ -205,12 +213,6 @@ struct type_has_rebind_other
|
||||
template <typename Ptr, typename T>
|
||||
struct type_rebind_mode
|
||||
{
|
||||
template <typename X>
|
||||
static char test(int, typename X::template rebind<T>::other*);
|
||||
|
||||
template <typename X>
|
||||
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
||||
|
||||
static const unsigned int rebind = (unsigned int)type_has_rebind<Ptr, T>::value;
|
||||
static const unsigned int rebind_other = (unsigned int)type_has_rebind_other<Ptr, T>::value;
|
||||
static const unsigned int mode = rebind + rebind*rebind_other;
|
||||
|
Reference in New Issue
Block a user