diff options
author | Jonathan Wakely <jwakely.gcc@gmail.com> | 2012-04-22 13:42:38 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2012-04-22 14:42:38 +0100 |
commit | fcf6e948d1e49d5da23106e86b4539897a459088 (patch) | |
tree | 4e77628b163029011be7fac6410c981e186b1692 | |
parent | 7c688aded43731835cfd13566fe8240c346cc20d (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/ptr_traits.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc | 1 |
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() |