Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r79437 - trunk/boost/intrusive/detail
From: igaztanaga_at_[hidden]
Date: 2012-07-12 03:46:43


Author: igaztanaga
Date: 2012-07-12 03:46:43 EDT (Thu, 12 Jul 2012)
New Revision: 79437
URL: http://svn.boost.org/trac/boost/changeset/79437

Log:
Ticket #7033: SolarisStudio 12.3 bug: doesn't like intrusive::detail::type_has_rebind::test() declarations
Text files modified:
   trunk/boost/intrusive/detail/memory_util.hpp | 14 ++++++++------
   1 files changed, 8 insertions(+), 6 deletions(-)

Modified: trunk/boost/intrusive/detail/memory_util.hpp
==============================================================================
--- trunk/boost/intrusive/detail/memory_util.hpp (original)
+++ trunk/boost/intrusive/detail/memory_util.hpp 2012-07-12 03:46:43 EDT (Thu, 12 Jul 2012)
@@ -182,7 +182,11 @@
 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 @@
 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 @@
 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;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk