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
|
struct type_has_rebind
|
||||||
{
|
{
|
||||||
template <typename X>
|
template <typename X>
|
||||||
|
#if !defined (__SUNPRO_CC)
|
||||||
static char test(int, typename X::template rebind<T>*);
|
static char test(int, typename X::template rebind<T>*);
|
||||||
|
#else
|
||||||
|
static char test(int, typename X::rebind<T>*);
|
||||||
|
#endif
|
||||||
|
|
||||||
template <typename X>
|
template <typename X>
|
||||||
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
||||||
@@ -194,7 +198,11 @@ template <typename Ptr, typename T>
|
|||||||
struct type_has_rebind_other
|
struct type_has_rebind_other
|
||||||
{
|
{
|
||||||
template <typename X>
|
template <typename X>
|
||||||
|
#if !defined (__SUNPRO_CC)
|
||||||
static char test(int, typename X::template rebind<T>::other*);
|
static char test(int, typename X::template rebind<T>::other*);
|
||||||
|
#else
|
||||||
|
static char test(int, typename X::rebind<T>::other*);
|
||||||
|
#endif
|
||||||
|
|
||||||
template <typename X>
|
template <typename X>
|
||||||
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
static int test(boost::intrusive::detail::LowPriorityConversion<int>, void*);
|
||||||
@@ -205,12 +213,6 @@ struct type_has_rebind_other
|
|||||||
template <typename Ptr, typename T>
|
template <typename Ptr, typename T>
|
||||||
struct type_rebind_mode
|
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 = (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 rebind_other = (unsigned int)type_has_rebind_other<Ptr, T>::value;
|
||||||
static const unsigned int mode = rebind + rebind*rebind_other;
|
static const unsigned int mode = rebind + rebind*rebind_other;
|
||||||
|
Reference in New Issue
Block a user