This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r106905 - in /branches/libstdcxx_so_7-branch/li...
- From: paolo at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Mon, 14 Nov 2005 21:33:59 -0000
- Subject: r106905 - in /branches/libstdcxx_so_7-branch/li...
Author: paolo
Date: Mon Nov 14 21:33:53 2005
New Revision: 106905
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=106905
Log:
2005-11-14 Paolo Carlini <pcarlini@suse.de>
Implement Option 3 of DR 431 for string - both available bases -
and add testsuite support.
* include/bits/cpp_type_traits.h (struct __is_empty): Add.
* testsuite/testsuite_allocator.h (class uneq_allocator): A simple
non-empty testing allocator which can be endowed of a "personality"
at construction time.
* include/bits/basic_string.h (basic_string<>::swap): Delegate to
this->_M_swap.
* include/bits/basic_string.tcc (basic_string<>::swap): Remove.
* include/ext/rc_string.h (struct _Alloc_hider): Add allocator
swapping facility, specialized to nothing for empty allocators.
(__rc_string<>::_M_swap): Use it.
(__rc_string<>::_M_is_leaked, _M_set_sharable): Change to private.
* include/ext/sso_string.h (struct _Alloc_hider): Likewise.
(__sso_string<>::_M_swap): Use it.
(__sso_string<>::_M_is_leaked, _M_set_sharable): Remove, unused.
* testsuite/21_strings/basic_string/swap/char/2.cc: New.
* testsuite/21_strings/basic_string/swap/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/swap/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/swap/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string/swap/char/1.cc: Tweak.
* testsuite/21_strings/basic_string/swap/wchar_t/1.cc: Likewise.
* include/ext/rc_string.h (__rc_string<>::_M_data(_CharT*): Return void.
* include/ext/sso_string.h (__sso_string<>::_M_data(_CharT*): Likewise.
Added:
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/21_strings/basic_string/swap/char/2.cc
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/21_strings/basic_string/swap/char/3.cc
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/21_strings/basic_string/swap/wchar_t/2.cc
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/21_strings/basic_string/swap/wchar_t/3.cc
Modified:
branches/libstdcxx_so_7-branch/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch
branches/libstdcxx_so_7-branch/libstdc++-v3/include/bits/basic_string.h
branches/libstdcxx_so_7-branch/libstdc++-v3/include/bits/basic_string.tcc
branches/libstdcxx_so_7-branch/libstdc++-v3/include/bits/cpp_type_traits.h
branches/libstdcxx_so_7-branch/libstdc++-v3/include/ext/rc_string.h
branches/libstdcxx_so_7-branch/libstdc++-v3/include/ext/sso_string.h
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/21_strings/basic_string/swap/char/1.cc
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/21_strings/basic_string/swap/wchar_t/1.cc
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/testsuite_allocator.h