r107718 - in /branches/libstdcxx_so_7-branch/li...

paolo@gcc.gnu.org paolo@gcc.gnu.org
Wed Nov 30 13:20:00 GMT 2005


Author: paolo
Date: Wed Nov 30 13:20:40 2005
New Revision: 107718

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107718
Log:
2005-11-30  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/sso_string.h (__sso_string<>::_M_get_allocator): Add
	non const version.
	* include/ext/rc_string.h (__rc_string<>::_M_get_allocator): Likewise.
	* include/bits/basic_string.h (basic_string(__gnu_cxx::__rvalref<>):
	Use it.
	* include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
	to return by ref and add non const version.
	(vector(const vector&), vector(__gnu_cxx::__rvalref<>)): Use it.
	* include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
	(deque(const deque&), deque(__gnu_cxx::__rvalref<>)): Likewise.
	(_M_destroy_data): Adjust.
	
	* include/ext/sso_string.h (__sso_string<>::_M_erase): Add.
	* include/ext/rc_string.h (__rc_string<>::_M_erase): Likewise.
	(_M_leak_hard): Use it.
	* include/bits/basic_string.h (basic_string<>::clear, erase, all
	versions): Use it.
	* include/bits/basic_string.tcc (basic_string<>::resize): Likewise.

	* include/bits/basic_string.h (basic_string<>::_M_replace_safe):
	Remove.
	* include/bits/basic_string.h (basic_string<>::_M_replace): New, does
	the in-place work or delegates to _M_mutate in case of reallocation.
	* include/bits/basic_string.tcc (basic_string<>::_M_replace_safe):
	Remove.
	* include/bits/basic_string.tcc (basic_string<>::_M_replace): Define.
	(assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
	* include/ext/sso_string.h (__sso_string<>::_M_mutate): Change to
	manage only reallocations.
	* include/ext/rc_string.h (__rc_string<>::_M_mutate): Likewise.

	* include/bits/basic_string.h (basic_string<>::insert(size_type,
	const basic_string&), insert(size_type, const basic_string&, size_type,
	size_type), insert(size_type, const _CharT*, size_type),
	insert(size_type, const _CharT*)): Delegate to replace.

	* include/bits/basic_string.h (basic_string<>::reserve): Move out of
	line.
	* include/bits/basic_string.tcc (basic_string<>::reserve): Do the
	checks and call _M_reserve.
	* include/bits/basic_string.h (basic_string<>::append): Call _M_reserve
	instead of reserve.
	* include/bits/basic_string.tcc (basic_string<>::append, all versions):
	Likewise.
	* include/ext/sso_string.h (__sso_string<>::_M_reserve): Adjust.
	* include/ext/rc_string.h (__rc_string<>::_M_reserve): Likewise.

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/stl_deque.h
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/bits/stl_vector.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



More information about the Libstdc++-cvs mailing list