aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2012-04-22 13:42:38 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-04-22 14:42:38 +0100
commitfcf6e948d1e49d5da23106e86b4539897a459088 (patch)
tree4e77628b163029011be7fac6410c981e186b1692
parent7c688aded43731835cfd13566fe8240c346cc20d (diff)
downloadgcc-fcf6e948d1e49d5da23106e86b4539897a459088.zip
gcc-fcf6e948d1e49d5da23106e86b4539897a459088.tar.gz
gcc-fcf6e948d1e49d5da23106e86b4539897a459088.tar.bz2
ptr_traits.h (pointer_traits::rebind): Make public.
* include/bits/ptr_traits.h (pointer_traits::rebind): Make public. * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check rebind works. From-SVN: r186670
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/ptr_traits.h6
-rw-r--r--libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc1
3 files changed, 7 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fc39c1e..fb36ccb 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,11 @@
2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+ * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
+ * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
+ rebind works.
+
+2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
* include/debug/forward_list (forward_list::splice_after): Check
allocators are equal.
* src/c++11/debug.cc: Fix spelling.
diff --git a/libstdc++-v3/include/bits/ptr_traits.h b/libstdc++-v3/include/bits/ptr_traits.h
index 7f120b1..bba9b49 100644
--- a/libstdc++-v3/include/bits/ptr_traits.h
+++ b/libstdc++-v3/include/bits/ptr_traits.h
@@ -140,14 +140,8 @@ _GLIBCXX_HAS_NESTED_TYPE(difference_type)
/// Type used to represent the difference between two pointers
typedef typename __ptrtr_diff_type<_Ptr>::__type difference_type;
- private:
template<typename _Up>
using rebind = typename __ptrtr_rebind<_Ptr, _Up>::__type;
-
- // allocator_traits needs to use __rebind
- template<typename> friend struct allocator_traits;
- template<typename> friend struct pointer_traits;
- template<typename, typename> friend class __ptrtr_rebind_helper2;
};
/**
diff --git a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc
index c682557..47b5212 100644
--- a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc
@@ -32,6 +32,7 @@ void test01()
typedef typename test_type::pointer pointer;
typedef typename test_type::element_type element_type;
typedef typename test_type::difference_type difference_type;
+ typedef typename test_type::template rebind<char> rebind_type;
}
int main()