Paolo Carlini
|
ec61e852bc
|
basic_string.h (_Rep::_M_is_safe, [...]): New, use througout.
2004-10-25 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
_M_move, _M_copy, _M_assign): New, use througout.
(operator+=(_CharT)): Define in terms of push_back.
(append(const basic_string&)): Define here, inline, and simplify,
don't use the full _M_replace_safe.
(append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
(push_back): Likewise.
(assign(const basic_string&)): Define here, inline.
* include/bits/basic_string.tcc (append(const _CharT* s, size_type):
Fix: when s points inside the _Rep, upon reallocation (reserve) we
were copying from deallocated memory.
(append(const basic_string&, size_type, size_type)): Simplify,
don't use _M_replace_safe.
(replace(size_type, size_type, const _CharT*, size_type)): Slightly
tweak.
(reserve): Likewise.
* testsuite/21_strings/basic_string/append/char/2.cc: New.
* testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
* testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
From-SVN: r89526
|
2004-10-25 08:45:04 +00:00 |
Paolo Carlini
|
61f1ed592c
|
Reshuffle 21_strings testsuite.
2003-03-18 Paolo Carlini <pcarlini@unitus.it>
Reshuffle 21_strings testsuite.
* testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
element_access.cc, operations.cc, char_traits_requirements.cc,
find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
compare.cc, inserters_extractors.cc, substr.cc: Split up, add
wchar_t tests as follows.
* 21_strings/basic_string/append/char/1.cc: New.
* 21_strings/basic_string/append/wchar_t/1.cc: New.
* 21_strings/basic_string/assign/char/1.cc: New.
* 21_strings/basic_string/assign/char/2.cc: New.
* 21_strings/basic_string/assign/char/3.cc: New.
* 21_strings/basic_string/assign/wchar_t/1.cc: New.
* 21_strings/basic_string/assign/wchar_t/2.cc: New.
* 21_strings/basic_string/assign/wchar_t/3.cc: New.
* 21_strings/basic_string/capacity/1.cc: New.
* 21_strings/basic_string/capacity/char/1.cc: New.
* 21_strings/basic_string/capacity/char/2.cc: New.
* 21_strings/basic_string/capacity/wchar_t/1.cc: New.
* 21_strings/basic_string/capacity/wchar_t/2.cc: New.
* 21_strings/basic_string/compare/char/1.cc: New.
* 21_strings/basic_string/compare/wchar_t/1.cc: New.
* 21_strings/basic_string/cons/char/1.cc: New.
* 21_strings/basic_string/cons/char/2.cc: New.
* 21_strings/basic_string/cons/char/3.cc: New.
* 21_strings/basic_string/cons/char/4.cc: New.
* 21_strings/basic_string/cons/char/5.cc: New.
* 21_strings/basic_string/cons/wchar_t/1.cc: New.
* 21_strings/basic_string/cons/wchar_t/2.cc: New.
* 21_strings/basic_string/cons/wchar_t/3.cc: New.
* 21_strings/basic_string/cons/wchar_t/4.cc: New.
* 21_strings/basic_string/cons/wchar_t/5.cc: New.
* 21_strings/basic_string/element_access/char/1.cc: New.
* 21_strings/basic_string/element_access/char/2.cc: New.
* 21_strings/basic_string/element_access/char/3.cc: New.
* 21_strings/basic_string/element_access/wchar_t/1.cc: New.
* 21_strings/basic_string/element_access/wchar_t/2.cc: New.
* 21_strings/basic_string/element_access/wchar_t/3.cc: New.
* 21_strings/basic_string/find/char/1.cc: New.
* 21_strings/basic_string/find/wchar_t/1.cc: New.
* 21_strings/basic_string/insert/char/1.cc: New.
* 21_strings/basic_string/insert/char/2.cc: New.
* 21_strings/basic_string/insert/wchar_t/1.cc: New.
* 21_strings/basic_string/insert/wchar_t/2.cc: New.
* 21_strings/basic_string/inserters_extractors/char/1.cc: New.
* 21_strings/basic_string/inserters_extractors/char/4.cc: New.
* 21_strings/basic_string/inserters_extractors/char/5.cc: New.
* 21_strings/basic_string/inserters_extractors/char/6.cc: New.
* 21_strings/basic_string/inserters_extractors/char/7.cc: New.
* 21_strings/basic_string/inserters_extractors/char/8.cc: New.
* 21_strings/basic_string/inserters_extractors/char/9.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
* 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
* 21_strings/basic_string/operators/char/1.cc: New.
* 21_strings/basic_string/operators/char/2.cc: New.
* 21_strings/basic_string/operators/wchar_t/1.cc: New.
* 21_strings/basic_string/operators/wchar_t/2.cc: New.
* 21_strings/basic_string/replace/char/1.cc: New.
* 21_strings/basic_string/replace/char/2.cc: New.
* 21_strings/basic_string/replace/char/3.cc: New.
* 21_strings/basic_string/replace/char/4.cc: New.
* 21_strings/basic_string/replace/char/5.cc: New.
* 21_strings/basic_string/replace/wchar_t/1.cc: New.
* 21_strings/basic_string/replace/wchar_t/2.cc: New.
* 21_strings/basic_string/replace/wchar_t/3.cc: New.
* 21_strings/basic_string/replace/wchar_t/4.cc: New.
* 21_strings/basic_string/replace/wchar_t/5.cc: New.
* 21_strings/basic_string/rfind/char/1.cc: New.
* 21_strings/basic_string/rfind/char/2.cc: New.
* 21_strings/basic_string/rfind/char/3.cc: New.
* 21_strings/basic_string/rfind/wchar_t/1.cc: New.
* 21_strings/basic_string/rfind/wchar_t/2.cc: New.
* 21_strings/basic_string/rfind/wchar_t/3.cc: New.
* 21_strings/basic_string/substr/char/1.cc: New.
* 21_strings/basic_string/substr/wchar_t/1.cc: New.
* 21_strings/c_strings/char/1.cc: New.
* 21_strings/c_strings/char/2.cc: New.
* 21_strings/c_strings/wchar_t/1.cc: New.
* 21_strings/c_strings/wchar_t/2.cc: New.
* 21_strings/char_traits/requirements/char/1.cc: New.
* 21_strings/char_traits/requirements/wchar_t/1.cc: New.
* 21_strings/char_traits/typedefs/char/1.cc: New.
From-SVN: r64524
|
2003-03-18 05:04:14 +00:00 |