|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r82129 - in branches/release: boost/intrusive/detail libs/intrusive/doc libs/intrusive/test
From: igaztanaga_at_[hidden]
Date: 2012-12-20 16:54:29
Author: igaztanaga
Date: 2012-12-20 16:54:29 EST (Thu, 20 Dec 2012)
New Revision: 82129
URL: http://svn.boost.org/trac/boost/changeset/82129
Log:
Fix for bug #7815
Text files modified:
branches/release/boost/intrusive/detail/has_member_function_callable_with.hpp | 3 ++-
branches/release/boost/intrusive/detail/mpl.hpp | 16 ++++++++++++++++
branches/release/libs/intrusive/doc/intrusive.qbk | 5 ++++-
branches/release/libs/intrusive/test/has_member_function_callable_with.cpp | 2 +-
4 files changed, 23 insertions(+), 3 deletions(-)
Modified: branches/release/boost/intrusive/detail/has_member_function_callable_with.hpp
==============================================================================
--- branches/release/boost/intrusive/detail/has_member_function_callable_with.hpp (original)
+++ branches/release/boost/intrusive/detail/has_member_function_callable_with.hpp 2012-12-20 16:54:29 EST (Thu, 20 Dec 2012)
@@ -18,6 +18,7 @@
#include <boost/intrusive/detail/config_begin.hpp>
#include <boost/intrusive/detail/workaround.hpp>
#include <boost/intrusive/detail/preprocessor.hpp>
+ #include <boost/intrusive/detail/mpl.hpp>
#include <boost/static_assert.hpp>
#include <boost/move/move.hpp>
@@ -85,7 +86,7 @@
void BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME();
};
- struct Base : public Type, public BaseMixin { Base(); };
+ struct Base : public ::boost::intrusive::detail::remove_cv<Type>::type, public BaseMixin { Base(); };
template <typename T, T t> class Helper{};
template <typename U>
Modified: branches/release/boost/intrusive/detail/mpl.hpp
==============================================================================
--- branches/release/boost/intrusive/detail/mpl.hpp (original)
+++ branches/release/boost/intrusive/detail/mpl.hpp 2012-12-20 16:54:29 EST (Thu, 20 Dec 2012)
@@ -311,6 +311,22 @@
struct remove_const<const T>
{ typedef T type; };
+template<typename T>
+struct remove_cv
+{ typedef T type; };
+
+template<typename T>
+struct remove_cv<const T>
+{ typedef T type; };
+
+template<typename T>
+struct remove_cv<const volatile T>
+{ typedef T type; };
+
+template<typename T>
+struct remove_cv<volatile T>
+{ typedef T type; };
+
template<class T>
struct remove_reference
{
Modified: branches/release/libs/intrusive/doc/intrusive.qbk
==============================================================================
--- branches/release/libs/intrusive/doc/intrusive.qbk (original)
+++ branches/release/libs/intrusive/doc/intrusive.qbk 2012-12-20 16:54:29 EST (Thu, 20 Dec 2012)
@@ -3847,7 +3847,10 @@
[section:release_notes_boost_1_53_00 Boost 1.53 Release]
-* Fixed bug [@https://svn.boost.org/trac/boost/ticket/7529 #7529].
+* Fixed bugs
+ [@https://svn.boost.org/trac/boost/ticket/7174 #7174],
+ [@https://svn.boost.org/trac/boost/ticket/7529 #7529],
+ [@https://svn.boost.org/trac/boost/ticket/7815 #7815].
* Fixed GCC -Wshadow warnings.
* Added missing `explicit` keyword in several intrusive container constructors.
* Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros.
Modified: branches/release/libs/intrusive/test/has_member_function_callable_with.cpp
==============================================================================
--- branches/release/libs/intrusive/test/has_member_function_callable_with.cpp (original)
+++ branches/release/libs/intrusive/test/has_member_function_callable_with.cpp 2012-12-20 16:54:29 EST (Thu, 20 Dec 2012)
@@ -53,7 +53,7 @@
void func();
};
- struct Base : public Type, public BaseMixin {};
+ struct Base : public ::boost::intrusive::detail::remove_cv<Type>::type, public BaseMixin {};
template <typename T, T t> class Helper{};
template <typename U>
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